我有我的地图和代码循环通过一个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);发布于 2013-11-27 19:12:27
google.maps.LatLng构造函数希望您以number类型传递纬度和经度。目前,它正以字符串(var latlng = park.lat + ',' + park.lng;)的形式传入。移除这一行,只需传入park.lat和park.lng值:
var location = new google.maps.LatLng(park.lat, park.lng);有关更多参考,请单击这里。
https://stackoverflow.com/questions/20250706
复制相似问题