我正在尝试获取多边形的路径,然后将它们设置为另一个类似的多边形。
newpoly = new google.maps.Polygon({
paths:poly.getPaths()
});
这不是假设工作吗?它在控制台中给了我这个错误。
构造函数参数 0 的值无效:[object Object]
我正在尝试获取多边形的路径,然后将它们设置为另一个类似的多边形。
newpoly = new google.maps.Polygon({
paths:poly.getPaths()
});
这不是假设工作吗?它在控制台中给了我这个错误。
构造函数参数 0 的值无效:[object Object]
如果您可以显示 poly 对象的代码并且 poly.getPaths() 返回任何内容,这将有所帮助。我只能建议 si 像这样详细调试它:
在实例化多边形对象之前尝试添加以下内容
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。
请记住,我们只能使用提供的代码来制定解决方案。
以这种方式获取第一个多边形的坐标(假设已经创建了两个多边形):
//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);