【问题标题】:Google Map Markers not appearing谷歌地图标记没有出现
【发布时间】:2013-11-28 03:12:27
【问题描述】:

我有我的地图和代码来循环遍历 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);

【问题讨论】:

    标签: javascript json api google-maps


    【解决方案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

    【讨论】:

    • 谢谢,为什么我不尝试,我不知道!现在完美运行!
    猜你喜欢
    • 2015-05-18
    • 2020-03-09
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2011-04-17
    • 2018-09-26
    • 2020-08-13
    相关资源
    最近更新 更多