在按钮左键单击时在谷歌地图上添加标记.尝试修改一个示例



这是示例 https://hpneo.github.io/gmaps/examples/context_menu.html

在此处复制代码

map.setContextMenu({
  control: "map",
  options: [{
    title: "Add marker",
    name: "add_marker",
      action: function(e) {
      this.addMarker({
      lat: e.latLng.lat(),
      lng: e.latLng.lng()
      });
    }
  }]
});

右键单击"查看Add marker"。左键单击标记并在地图上看到标记。

但想在左键单击时添加标记

map = new GMaps({
  click: function(event) {
  //alert("click");
  var lat=event.latLng.lat();
  var lng=event.latLng.lng();
  alert ( lat+ ", "+ lng );
   this.addMarker({
   lat: event.latLng.lat(),
   lng: event.latLng.lng(),
   });
  }
});

左键单击时alert ( lat+ ", "+ lng );,但没有添加标记。需要纠正什么?

解决方案看起来非常简单

map = new GMaps({
  click: function(event) {
  //alert("click");
  var lat=event.latLng.lat();
  var lng=event.latLng.lng();
  alert ( lat+ ", "+ lng );
   map.addMarker({
   lat: lat,
   lng: lng,
   });
  }
});

//这只是一个片段。请阅读来自谷歌地图API库的信息窗口和标记

var infowindow = new google.maps.InfoWindow({
    content: '' //content is your HTML/div element  with a menu this is where your menu context is located
});

 var marker = new google.maps.Marker({
    title: 'your title',
    position: new google.maps.LatLng(yourlat, yourlng),
    map: map //your map
});

google.maps.event.addListener(marker, 'click', function() { 
    infowindow.setContent(html); 
    infowindow.open(map, marker); 
}); 

最新更新