Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图:如何在一段时间后删除标记?_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图:如何在一段时间后删除标记?

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++; } 我有来自

我使用以下代码在GoogleMap上添加标记

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秒后移除。