我正在尝试获取多边形的路径,然后将它们设置为另一个多边形。
newpoly = new google.maps.Polygon({
paths:poly.getPaths()
});
这不应该起作用吗?它在控制台中给我这个错误。
构造函数参数0的值无效:[object Object]
答案 0 :(得分:1)
如果您可以显示多边形对象的代码并且poly.getPaths()返回任何内容,那将会有所帮助。所有我都可以重新编程,以便详细调试它:
答案 1 :(得分:1)
在实例化多边形对象
之前尝试添加以下内容var triangleCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.75737),
new google.maps.LatLng(25.774252, -80.190262)
];
现在使用代码并替换poly.getPaths() - 假设其余代码有效。
newpoly = new google.maps.Polygon({
paths:triangleCoords //there are probably more method to add here
});
如果它有效,那么你知道poly.getPaths()有问题。将其用作参考https://developers.google.com/maps/documentation/javascript/overlays#PolygonOptions。
请记住,我们只能使用提供的代码来制定解决方案。
答案 2 :(得分:0)
以这种方式获取第一个多边形的坐标(假设已经创建了两个多边形):
//store polygon path
var vertices = firstPolygon.getPath();
// Iterate over the vertices.
pathOfFirstPolygon = [];
for (var i =0; i < vertices.getLength(); i++) {
var xy = vertices.getAt(i);
item = {};
item["lat"] = xy.lat();
item["lng"] = xy.lng();
pathOfFirstPolygon.push(item);
};
//Set path of the second polygon
secondPolygon.setPath(pathOfFirstPolygon);