动态添加标记到谷歌地图

3
我有一个谷歌地图,可以正确加载经纬度信息。我想在那个位置放置一个标记。
以下是我的代码:
    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);

所有内容都正常显示,但标记没有显示出来。我做错了什么吗?

1个回答

8
您没有将标记添加到地图上。 两种可能情况:
function addMarker(location, map) {
  var marker = new google.maps.Marker({
      position: location,
      title: 'Home Center',
      map:map
  });
}

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

证明概念 fiddle

代码片段:

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);
html,
body,
#map_canvas2 {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div id="map_canvas2" style="border: 2px solid #3872ac;"></div>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接