Javascript 在谷歌地图上只允许一个标记
我希望用户在页面上的谷歌地图上放置一个标记。如果用户再次单击,第一个标记将消失,并被新标记替换。我将如何做到这一点,从谷歌提供的代码开始:Javascript 在谷歌地图上只允许一个标记,javascript,google-maps,Javascript,Google Maps,我希望用户在页面上的谷歌地图上放置一个标记。如果用户再次单击,第一个标记将消失,并被新标记替换。我将如何做到这一点,从谷歌提供的代码开始: function myMap() { var mapCanvas = document.getElementById("map"); var mapOptions = { center: new google.maps.LatLng(51.7, 5), zoom: 6 }; va
function myMap() {
var mapCanvas = document.getElementById("map");
var mapOptions = {
center: new google.maps.LatLng(51.7, 5), zoom: 6
};
var map = new google.maps.Map(mapCanvas, mapOptions);
google.maps.event.addListener(map, 'click', function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
});
我的第一次尝试是添加marker.remove()
在addListener函数开始时,这对我不起作用
提前感谢您的帮助 我自己找到了答案。将AddListener替换为以下内容非常有效:
以下代码帮助您在用户单击时放置标记。如果用户再次单击,则删除先前的标记并标记新位置。我的回答旨在纠正你第一次尝试时的错误。试试这个
var flag=0,marker;
map.addListener('click', function(e) {
if(flag)
marker.setMap(null);
else
flag=1;
marker = new google.maps.Marker({
position: e.latLng,
map: map});
});
var flag=0,marker;
map.addListener('click', function(e) {
if(flag)
marker.setMap(null);
else
flag=1;
marker = new google.maps.Marker({
position: e.latLng,
map: map});
});