谷歌地图标记没有出现

时间:2013-11-27 18:53:20

标签: javascript json api google-maps

我的地图和代码循环遍历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 个答案:

答案 0 :(得分: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