Javascript 谷歌地图:如何在一段时间后删除标记?
我使用以下代码在GoogleMap上添加标记Javascript 谷歌地图:如何在一段时间后删除标记?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我使用以下代码在GoogleMap上添加标记 function addDynamicMarker(location) { markers.push(new google.maps.Marker({ position: location, map: map, draggable: false, icon: image, animation: google.maps.Animation.DROP })); iterator++; } 我有来自
function addDynamicMarker(location) {
markers.push(new google.maps.Marker({
position: location,
map: map,
draggable: false,
icon: image,
animation: google.maps.Animation.DROP
}));
iterator++;
}
我有来自服务器的恒定数据流,我通过调用
connection.onmessage = function(e) {
var parse = JSON.parse(e.data);
var coordinates = parse["geo"]["coordinates"];
console.log("coordinates:" + JSON.stringify(coordinates, undefined, 2));
addDynamicMarker(new google.maps.LatLng(coordinates[0], coordinates[1]));
};
问题?-这将不断在地图上创建新点,并成为所有地点的主宰
-由于新的
google.maps.LatLng
被创建,它们最终占用了大量内存
我需要什么?我需要一种方法,当推动标记时,该市场在
2秒后被删除
如何实现此目的?使用setTimeout计划删除标记:
function addDynamicMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map,
draggable: false,
// icon: image,
animation: google.maps.Animation.DROP
});
setTimeout(function () {
marker.setMap(null);
delete marker;
}, 2000);
return marker;
}
使用setTimeout计划标记在2秒后移除。