2013-11-27 137 views
0

我有我的地圖和代碼循環通過json數組添加標記到地圖。谷歌地圖標記不出現

地圖加載和我得到控制檯輸出,指出每個公園已添加到地圖,但沒有標記出現在它上面。

任何想法?

function initialize() { 

    var mapOptions = { 
     center: new google.maps.LatLng(-34.397, 150.644), 
     zoom: 2 
    }; 

    var map = new google.maps.Map($('#maptest')[0], mapOptions); 

    $.getJSON("/parks.json", function(parks) { 
     $.each(parks, function(key, park) { 
     if (park.lat && park.lng) { 
      var latlng = park.lat + ',' + park.lng; 
      var location = new google.maps.LatLng(latlng); 
      var marker = new google.maps.Marker({ 
      position: location, 
      map: map 
      }); 
      console.log('Added map marker for ' + park.name + ' at ' + park.lat + ', ' + park.lng); 
     } 
     }); 
    }); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 

回答

1

google.maps.LatLng構造期望你在緯度和經度number型傳輸。目前,它以字符串形式傳入(var latlng = park.lat + ',' + park.lng;)。刪除了這一行,只是通過在park.latpark.lng值:

var location = new google.maps.LatLng(park.lat, park.lng); 

更多參考點擊here

+0

謝謝,爲什麼我沒有嘗試,我不知道!現在完美的工作! – rctneil