按住鼠标左键单击谷歌地图上的标记。试图修改一个例子

时间:2014-12-27 06:08:18

标签: javascript jquery google-maps

以下是示例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,
   });

  }
});

1 个答案:

答案 0 :(得分:2)

//这只是一个片段。请阅读Google Map API库中的InfoWindow和Marker

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