Javascript 谷歌地图在绘制新标记时清除旧标记

Javascript 谷歌地图在绘制新标记时清除旧标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在调用一个API并在几秒钟后绘制新的标记。新的标记被绘制出来,但旧的标记仍然保留着。我想在打印新标记时清除旧标记。这是我的密码 var myMarkers = []; var i; var marker = new google.maps.Marker({ position: new google.maps.LatLng(12.967086,77.746564), map: map, }); setInterval(function(){ $

我正在调用一个API并在几秒钟后绘制新的标记。新的标记被绘制出来,但旧的标记仍然保留着。我想在打印新标记时清除旧标记。这是我的密码

var myMarkers = [];  
var i;
var marker = new google.maps.Marker({
    position: new google.maps.LatLng(12.967086,77.746564),
    map: map,
});       
setInterval(function(){
        $.post(contextPath+"/api/getlocations", {} , function(data){
            var response = data;
            var locations = response.locations;
            var marker, i;

            for (var i = myMarkers.length; i > 0; i--) {
                myMarkers[i].setMap(null);
            }
            myMarkers = [];
            for (i = 0; i < locations.length; i++) {
                marker = new google.maps.Marker({
                    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
                    map: map
                });

                google.maps.event.addListener(marker, 'click', (function(marker, i) {
                    return function() {
                        infowindow.open(map, marker);
                    }
                })(marker, i));
                myMarkers.push(marker);
            }
        });
    }, 5000);
var myMarkers=[];
var i;
var marker=new google.maps.marker({
位置:新google.maps.LatLng(12.967086,77.746564),
地图:地图,
});       
setInterval(函数(){
$.post(contextPath+“/api/getlocations”,{},函数(数据){
var响应=数据;
var位置=响应位置;
var标记,i;
对于(var i=myMarkers.length;i>0;i--){
myMarkers[i].setMap(空);
}
myMarkers=[];
对于(i=0;i
*映射已初始化


任何帮助都将不胜感激。感谢在窗口级别声明myMarkers以管理markers集合

var myMarkers = [];  
在创建标记之前,请清除上一个标记

for (i = 0;  i <  myMarkers.length;  i++) {

  myMarkers.[i].setMap(null);
}
myMarkers = [];
//在“标记”集合中添加标记

  myMarkers.push(marker);

我不确定你想要实现什么——听起来像一个“移动的标记”。如果是这样,请将您的“var marker”移到函数外部,然后首先删除(…)并让marker.setMap(null)作为一个“移动标记”。现在出现错误-Uncaught TypeError:无法读取未定义的属性“setMap”.我已更新代码,在setMap(null)的循环后添加清除myMarkers…尝试。。让我知道同样的错误-UncaughtTypeError:无法读取Undefine的属性“setMap”?您确定您创建的所有标记都是推入式myMarkers吗?您指的是myMarkers[i].setMap(null);?我已经用您的更改更新了代码。请检查。还是错误
  myMarkers.push(marker);