Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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 在backbone.js视图中谷歌地图/删除标记_Javascript_Google Maps_Backbone.js_Google Maps Api 3_Google Maps Markers - Fatal编程技术网

Javascript 在backbone.js视图中谷歌地图/删除标记

Javascript 在backbone.js视图中谷歌地图/删除标记,javascript,google-maps,backbone.js,google-maps-api-3,google-maps-markers,Javascript,Google Maps,Backbone.js,Google Maps Api 3,Google Maps Markers,我是JS和backbone.JS的新用户 我有一个主干应用程序,它向谷歌地图api发出请求,并根据应用程序中的搜索成功删除PIN 现在,我想在搜索新标记时从地图中删除旧标记 以下是我的addMarker函数: function addmarker(model) { var self = this, marker; _geocode.call(this, model.get('address')) .done(function(location) { mark

我是JS和backbone.JS的新用户

我有一个主干应用程序,它向谷歌地图api发出请求,并根据应用程序中的搜索成功删除PIN

现在,我想在搜索新标记时从地图中删除旧标记

以下是我的addMarker函数:

function addmarker(model) {
  var self = this,
    marker;

  _geocode.call(this, model.get('address'))
    .done(function(location) {
      marker = new google.maps.Marker({ 
        map: self.map,
        position: location
      });

  _infowindow.call(self, marker, model);
    })
    .fail(function() {
      console.log("This address cannot be retrieved from the server");
    });

};
我想删除此函数调用开始时的旧标记。我尝试将标记存储在数组中,并根据API文档使用clearMarkers函数在每个元素上调用setMap(null)函数

这不起作用

在这种情况下,删除标记最有效的方法是什么


如果您对我的代码的其余部分有疑问,请告诉我

您需要创建标记的全局数组,并将每个标记推送到该数组中。例如:

var markers = [];
然后在
addMarker()
函数中:

markers.push(marker); // where marker is your google.Maps.Marker();
因此,如果要删除所有标记:

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

    markers[i].setMap(null);
}
(变量i=0;i)的