2013-06-27 12 views
1

我需要爲Google地圖的特定區域着色。我已經嘗試了 polygon overlay example.。這裏使用像下面這樣的座標:使用多邊形覆蓋將顏色設置爲谷歌地圖中的特定區域

var triangleCoords = [ 
    new google.maps.LatLng(23.8099144,90.40607589999999,0), 
    new google.maps.LatLng(24.8199144,86.40607589999999,0), 
    new google.maps.LatLng(25.8299144,92.40607589999999,0), 
    new google.maps.LatLng(23.8099144,90.40607589999999,0) 
]; 

但我有面積座標的形式大致如下格式:

89.90277900000007,22.36819100000007,0 89.90277900000007,22.36833399999999,0 89.90334400000013,22.36861000000009,0 89.903611 ,22.36889000000003,0 89.90416700000004,22.36917099999998,0 89.90499900000009,22.37001000000014,0 89.90499900000009,22.37111000000006,0 89.905281,22.37138800000008,0 89.905281,22.37833300000009,0 89.90333500000007,22.37833300000009,0 89.90166400000005,22.37527899999996,0 89.901391,22.3750010000001,089.90166400000005,22.36944400000003,0 89.90166400000005, 22.36929200000004,0 89.901664000 00005,22.36916600000013,0 89.90110800000001,22.36861000000009,0 89.90132199999998,22.36829099999999,0 89.90135199999997,22.368179,0 89.901391,22.36805600000009,0 89.90277900000007,22.36805600000009,0 89.90277900000007,22.36819100000007,0

現在我怎麼可以使用此區域合作從屬價值到代碼。價值是來自於數據庫的單一領域,這真的很難用一個納入一個進入的對象,如:

new google.maps.LatLng(89.90277900000007,22.36819100000007,0), 
new google.maps.LatLng(89.90277900000007,22.36833399999999,0), 
. 
. 
. 
new google.maps.LatLng(89.90277900000007,22.36819100000007,0), 

請給我一個合適的解決方案。

+0

的可能重複[轉換從MySQL著名的文本(WKT)與PHP谷歌地圖多邊形(http://stackoverflow.com/questions/16482303/轉換爲衆所周知的文字從MKT到谷歌地圖多邊形與PHP) – geocodezip

回答

1

使用此代碼...

var res = "89.90277900000007,22.36819100000007,....,0 89.90277900000007,22.36819100000007,0"; 
resArray = res.split(" "); 
var triangleCoords = []; 

for(var i=0; i<resArray.length; i++){ 
    triangleCoords.push(new google.maps.LatLng(resArray[0])) 
} 
+0

非常感謝..它的工作原理.. – riad

0

你可以試試這個方法。

從數據庫中獲取所有數據,然後按空間分割(無論您使用的是服務器端語言還是使用javascript)。然後你會得到一個數組,嘗試循環該數組並構建latlng對象。但是按空間分割並不是最好的方法,因爲db中可能沒有空間數據。

注意:new google.maps.LatLng(23.8099144,90.40607589999999,0),這裏最後一個參數不是必需的。只有經緯度纔有效。

+0

有沒有更好的辦法,而不是循環和創建數組?我是否可以將我的座標完整地表示爲單個對象? – riad