点击即可将标记添加到Google地图

时间:2013-04-03 16:17:40

标签: google-maps google-maps-api-3

令人惊讶的是,当用户点击地图时,我很难找到一个如何向Google地图添加标记的简单示例。

过去几个小时我一直在寻找,并查阅了Google Maps API文档,非常感谢您的帮助!

6 个答案:

答案 0 :(得分:157)

经过深入研究后,我设法找到了解决方案。

google.maps.event.addListener(map, 'click', function(event) {
   placeMarker(event.latLng);
});

function placeMarker(location) {
    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });
}

答案 1 :(得分:34)

2017年,解决方案是:

map.addListener('click', function(e) {
    placeMarker(e.latLng, map);
});

function placeMarker(position, map) {
    var marker = new google.maps.Marker({
        position: position,
        map: map
    });
    map.panTo(position);
}

答案 2 :(得分:20)

这实际上是一个记录在案的功能,可以找到here

// This event listener calls addMarker() when the map is clicked.
  google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
  });

  function placeMarker(position, map) {
    var marker = new google.maps.Marker({
      position: position,
      map: map
    });  
    map.panTo(position);
  }

答案 3 :(得分:6)

目前,将侦听器添加到地图的方法是

map.addListener('click', function(e) {
    placeMarker(e.latLng, map);
});

而不是

google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
});

Reference

答案 4 :(得分:6)

@Chaibi Alaa,您可以在第一次点击时设置标记,然后只需在后续点击时更改位置。

var marker;

google.maps.event.addListener(map, 'click', function(event) {

   placeMarker(event.latLng);

});

function placeMarker(location) {

 if (marker == null)
 {
   marker = new google.maps.Marker({
      position: location,
      map: map
  }); } else {   marker.setPosition(location); } }

答案 5 :(得分:0)

  1. 首先声明标记:
this.marker = new google.maps.Marker({
   position: new google.maps.LatLng(12.924640523603115,77.61965398949724),
   map: map
});
  1. 调用该方法以在点击时绘制标记:
this.placeMarker(coordinates, this.map);
  1. 定义功能:
placeMarker(location, map) {
    var marker = new google.maps.Marker({
        position: location,
        map: map
    });
    this.markersArray.push(marker);
}