我想要得到多邊形的路徑,然後將它們設置爲另一個多邊形。谷歌地圖setPaths from getPaths座標
newpoly = new google.maps.Polygon({
paths:poly.getPaths()
});
這是不是假設工作?它在控制檯中給了我這個錯誤。對於構造函數參數0
值無效:[對象的對象]
我想要得到多邊形的路徑,然後將它們設置爲另一個多邊形。谷歌地圖setPaths from getPaths座標
newpoly = new google.maps.Polygon({
paths:poly.getPaths()
});
這是不是假設工作?它在控制檯中給了我這個錯誤。對於構造函數參數0
值無效:[對象的對象]
嘗試添加以下實例化Polygon對象
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。
請記住,我們只能使用提供的代碼來制定解決方案。
它的工作方式 – user969724
這將有助於如果你能顯示的多邊形對象的代碼,如果poly.getPaths()返回任何東西。所有我可以調用它來詳細調試,如下所示:
獲取第一多邊形的COORDS這樣(假設兩個多邊形已創建):
//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);
你能表現出一點更多的代碼,你必須初始化你的聚變量? – Cdeez