google-maps - 动态添加标记到谷歌地图

标签 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);

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

最佳答案

您没有将标记添加到 map 中。要么:

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);
}

proof of concept 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>

关于google-maps - 动态添加标记到谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32315722/

相关文章:

android - Monodroid Google Maps v2 - "LinkAssemblies"任务意外失败

android - getSupportFragmentManager().findFragmentById(R.id.map) 开始返回 null

javascript - 将坐标加载到我的网页中的谷歌地图

google-maps - 计算静态谷歌地图图像的边界框

android - 更改标题语言 PlacePicker

javascript - 如何在不点击标记事件的情况下在谷歌地图中获取一些信息并将其显示在除 infoWindow 之外的 div 中

java - Google android maps api v2 始终显示标记标题

ios - MKMapView 会在 iOS6 中自动使用谷歌地图,因为谷歌地图在 iOS6 中恢复了吗?

javascript - 谷歌地图 JavaScript V3 : How can I Set the Marker Shadow's Offset from the Marker?

java - 如何在谷歌地图上添加和检索地点