2011-09-09 33 views
2

我有一個包含經度和緯度座標的Json數組。這裏有一個例子:從Google地圖上的Json數組繪製LatLng座標---標記全部疊加在同一位置

"zones":[{"Zip":35824,"Latitude":34.647995,"Longitude":-86.738549},... 

我試圖使用循環數組在解析座標,繪製他們一個谷歌地圖上。下面是我的javascript:

function getLocations() { 

    $.getJSON("http://localhost:1117/zones/latlng", function (json) { 

     var location; 


     $.each(json.zones, function (i, item) { 
      location = item.Latitude + ',' + item.Longitude, addMarker(location); 
     }); 

    }); 
}; 

function addMarker(location) { 
    marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(location), 
     map: map, 
     icon: redImage 
    }); 
    markersArray.push(marker); 
} 

我的問題是標記最終互相堆疊在地圖上(就在海洋中)的左上角繪製的頂部。標記堆棧的位置無處出現在我的Json數組中。我做錯了什麼?

回答

5

我認爲問題在於新的google.maps.LatLng()期望(數字,數字)作爲參數,並且您以格式「數字,數字」傳遞字符串。

如果你改變了addMarker()函數有兩個參數(例如緯度,經度)應該工作:

function getLocations() { 

    $.getJSON("http://localhost:1117/zones/latlng", function (json) { 

     var location; 


     $.each(json.zones, function (i, item) { 
      addMarker(item.Latitude,item.Longitude); 
     }); 

    }); 
} 

function addMarker(lat,lng) { 
     marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(lat,lng), 
      map: map, 
      icon: redImage 
     }); 
     markersArray.push(marker); 
} 
+0

你說得對。這正是問題所在。謝謝!! – hughesdan

0

使用集羣。使組標記爲cluster.one集羣將呈現內許多標記也做出界限。

相關問題