在Google地图上点击添加标记

我惊奇地发现了一个非常简单的例子,当用户在地图上点击鼠标时,如何添加标记到Google地图。

过去的几个小时我已经四处寻找,并查阅了Google Maps API文档,希望能得到一些帮助!

经过更多的研究,我设法find了一个解决scheme。

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

这实际上是一个logging的function,可以在这里find

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

在2017年,解决scheme是:

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

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

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

并不是

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

参考

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