【问题标题】:Javascript Google Maps API - Marker doesn't show upJavascript Google Maps API - 标记不显示
【发布时间】:2015-07-01 10:05:12
【问题描述】:

我在单独的 .js 文件中有以下代码,但由于某种原因,当我加载页面时,制造商没有出现,只有地图。

document.addEventListener('DOMContentLoaded', drawMap);  

//MAP

function drawMap() { 

    var myLatLong = new google.maps.LatLng(53.4680477, -2.2400482); 

        var mapOptions = {
            center: myLatLong, 
          zoom: 14 
        };
        var map = new google.maps.Map(document.getElementById('map-canvas'), 
            mapOptions);
      }

//MARKERS

var marker = new google.maps.Marker( 
    {
        position: myLatLong, 
        map: map,
        title: "Marker"
    }
);

marker.setMap(map); 

【问题讨论】:

  • 你已经在函数之外声明了你的标记。
  • 哦,当然,谢谢

标签: javascript google-maps google-maps-api-3 google-maps-markers


【解决方案1】:

我注意到在初始化地图之前添加了 ma​​rker.setMap(map);。 请尝试以下操作:

function drawMap() {
  // init maps then add marker to map
  marker.setMap(map);
}

这是Google developers doc提供的示例

function initialize() {
  var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'Hello World!'
  });
}

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

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    试试这个

    document.addEventListener('DOMContentLoaded', drawMap);
    
    //MAP
    
    function drawMap() {
    
        var myLatLong = new google.maps.LatLng(53.4680477, -2.2400482);
    
        var mapOptions = {
            center: myLatLong,
            zoom: 14
        };
        var map = new google.maps.Map(document.getElementById('map-canvas'),
        mapOptions);
    
        //MARKERS
    
        var marker = new google.maps.Marker({
            position: myLatLong,
            map: map,
            title: "Marker"
        });
    
        marker.setMap(map);
    }
    

    【讨论】:

    • 请在编写答案时正确缩进您的代码。除此之外,您不需要setMap(map),因为map: map 已经在标记选项中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 2014-07-29
    • 1970-01-01
    • 2012-11-08
    • 2012-04-12
    • 2014-02-13
    相关资源
    最近更新 更多