动态添加标记到谷歌地图

bnj*_*ers 3 google-maps

我有一个加载到正确纬度和经度的谷歌地图。我想在那个纬度和经度处放置一个标记。

这是我的代码

    function initialize() {
        var mapCanvas = document.getElementById('map_canvas2');
        var myLatLng = { lat: contactLatitude, lng: contactLongitude };
        var mapOptions = {
            center: new google.maps.LatLng(contactLatitude, contactLongitude),
            zoom: 8,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(mapCanvas, mapOptions);
        addMarker(myLatLng, map);
    }

    function addMarker(location, map) {
        var marker = new google.maps.Marker({
            position: location,
            title: 'Home Center'
        });
    }

    google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)

一切都显示得很好,但标记没有出现。我究竟做错了什么?

geo*_*zip 7

您没有将标记添加到地图。任何一个:

function addMarker(location, map) {
  var marker = new google.maps.Marker({
      position: location,
      title: 'Home Center',
      map:map
  });
}
Run Code Online (Sandbox Code Playgroud)

或者

function addMarker(location, map) {
  var marker = new google.maps.Marker({
      position: location,
      title: 'Home Center',
  });
  marker.setMap(map);
}
Run Code Online (Sandbox Code Playgroud)

概念证明小提琴

代码片段:

function addMarker(location, map) {
  var marker = new google.maps.Marker({
      position: location,
      title: 'Home Center',
      map:map
  });
}
Run Code Online (Sandbox Code Playgroud)
function addMarker(location, map) {
  var marker = new google.maps.Marker({
      position: location,
      title: 'Home Center',
  });
  marker.setMap(map);
}
Run Code Online (Sandbox Code Playgroud)
var contactLatitude = 42;
var contactLongitude = -72;

function initialize() {
  var mapCanvas = document.getElementById('map_canvas2');
  var myLatLng = {
    lat: contactLatitude,
    lng: contactLongitude
  };
  var mapOptions = {
    center: new google.maps.LatLng(contactLatitude, contactLongitude),
    zoom: 8,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  var map = new google.maps.Map(mapCanvas, mapOptions);
  addMarker(myLatLng, map);
}

function addMarker(location, map) {
  var marker = new google.maps.Marker({
    position: location,
    title: 'Home Center',
    map: map
  });
}

google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)