我想删除Google地图中的标记,但我不明白这一点。请帮帮我。
我的Validation.js:
function initialize() {
//geocodierungs Funktion damit Geocoding funktioniert
geocoder = new google.maps.Geocoder();
var mapOptions = {
zoom:5,
center: new google.maps.LatLng(48.136607,11.577085),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
var pos=new google.maps.LatLng(48.2,11);
var marker = new google.maps.Marker({
position:pos,
map:map,
title: 'test'
});} setInterval(function(){
//$.post('nav_schnittstelle.php',{}).done(aktualisiereKartendaten);
alert('test');
pos.setMap(null); },10000);
如何使用setMap(Null);
?我不明白这一点。
答案 0 :(得分:1)
尝试制作一个按钮和一个监听器来测试您的代码。
要从地图中删除标记,请调用setMap()方法,将null作为参数。
marker.setMap(空);
请注意,上述方法不会删除标记。它只是从地图中删除标记。如果您希望删除标记,则应将其从地图中删除,然后将标记本身设置为
null
。
按照document中的示例代码:
// Adds a marker to the map and push to the array.
function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
}
// Sets the map on all markers in the array.
function setMapOnAll(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
// Removes the markers from the map, but keeps them in the array.
function clearMarkers() {
setMapOnAll(null);
}
// Shows any markers currently in the array.
function showMarkers() {
setMapOnAll(map);
}
// Deletes all markers in the array by removing references to them.
function deleteMarkers() {
clearMarkers();
markers = [];
}
要删除单个标记,请参阅相关的SO question代码段:
marker.addListener("dblclick", function() {
marker.setMap(null);
});
希望这有帮助!