2012-03-12 59 views
1

我曾試圖繪製使用繪圖經理多邊形和發送的多邊形座標,以PHP腳本(在數據庫中存儲)。無法也可編輯後,選擇編輯多邊形作爲真正在圖管理谷歌地圖V3

1)我已經爲多邊形編碼可編輯選項'真'。但我不是要 編輯多邊形。我不是要找到我做錯了什麼?

2)此外,我嘗試使用method..it返回爲array..How的getPaths做我 檢查這個座標是正確的獲得

多邊形路徑。如果我在顯示器中輸入警告 'Object [] Object',請幫我解決這些問題。

回答

1

您需要將繪圖模式設置爲true(以啓用地圖交互)。下面的代碼就可以了:)

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) { 
     drawingManager.setDrawingMode(null); 

}); 

至於第二部分即時通訊目前正在對現在。使用console.log而不是alert。

+0

你能分享我,爲什麼我們需要設置繪圖模式? – ArunRaj 2014-04-05 02:01:52

+0

自從我這樣做以來已經有一段時間了。但是當繪圖模式沒有設置,你不能與圖紙交互...希望可以幫助 – encodes 2014-04-07 13:15:20

+1

感謝您分享您的知識。 ;) – ArunRaj 2014-04-07 15:35:52

1

對於路徑:

var thisPath=polygon.getPath(); 
for(i=0;i<thisPath.length;i++){ 
    var latlng=thisPath.getAt(i); 
    pathString= pathString+', '+ latlng.lat()+' - '+ latlng.lng()+'\n' 
} 
alert (pathString); 
0

對於第2部分,sharingStuff代碼會工作,我優選爲JSON對象的路徑,

vertices = this.polygon.getPath(); 
var points = []; 
// Iterate over the vertices. 
if(this.polygon.getMap() == null){ 
    return false; 
} 
for (var i =0; i < vertices.length; i++) { 
    var xy = vertices.getAt(i); 
    points.push(xy.lat() +"," + xy.lng()); 
} 
return JSON.stringify({points: points}); 

任一方法中是好的,只是想'd給你另一種選擇。 :)