在创建新标记之前删除最后一个标记
Removing last marker before creating a new one
我想创建一个功能简单的地图。每次我点击,现有的标记应该被删除,并且一个新的标记应该出现在点击位置。
创建新的工作正常,但删除它们不起作用。这是代码,我试过了:
var map;
var latitude, longitude;
var marker;
function placeMarker(location) {
marker.setMap(null);
marker = new google.maps.Marker({
map: map,
position: location,
});
latitude = location.lat();
longitude = locaton.lng();
document.getElementById('koordinaten').innerHTML = '<p>' + latitude + '</p>';
}
好的,评论marker.setMap(null);我可以添加任意多的标记,但我只想在地图上添加一个标记。
你能帮我吗,如何删除标记并放置新标记?
谢谢
当你第一次运行这个函数时,第一行会导致错误,因为标记仍然是undefined
(没有setMap
-method) .
您可能会发现这种情况并绕过第一行:
if(typeof marker!=='undefined'){
marker.setMap(null);
}
但更好的方法是始终使用相同的标记并应用新位置:
function placeMarker(location) {
//when marker is undefined, create a marker
if(typeof marker==='undefined'){
marker = new google.maps.Marker({
map: map
});
}
//set the position
marker.setPosition(location);
latitude = location.lat();
longitude = locaton.lng();
document.getElementById('koordinaten').innerHTML
= '<p>' + latitude + '</p>';
}
我想创建一个功能简单的地图。每次我点击,现有的标记应该被删除,并且一个新的标记应该出现在点击位置。
创建新的工作正常,但删除它们不起作用。这是代码,我试过了:
var map;
var latitude, longitude;
var marker;
function placeMarker(location) {
marker.setMap(null);
marker = new google.maps.Marker({
map: map,
position: location,
});
latitude = location.lat();
longitude = locaton.lng();
document.getElementById('koordinaten').innerHTML = '<p>' + latitude + '</p>';
}
好的,评论marker.setMap(null);我可以添加任意多的标记,但我只想在地图上添加一个标记。
你能帮我吗,如何删除标记并放置新标记?
谢谢
当你第一次运行这个函数时,第一行会导致错误,因为标记仍然是undefined
(没有setMap
-method) .
您可能会发现这种情况并绕过第一行:
if(typeof marker!=='undefined'){
marker.setMap(null);
}
但更好的方法是始终使用相同的标记并应用新位置:
function placeMarker(location) {
//when marker is undefined, create a marker
if(typeof marker==='undefined'){
marker = new google.maps.Marker({
map: map
});
}
//set the position
marker.setPosition(location);
latitude = location.lat();
longitude = locaton.lng();
document.getElementById('koordinaten').innerHTML
= '<p>' + latitude + '</p>';
}