Javascript 在backbone.js视图中谷歌地图/删除标记
我是JS和backbone.JS的新用户 我有一个主干应用程序,它向谷歌地图api发出请求,并根据应用程序中的搜索成功删除PIN 现在,我想在搜索新标记时从地图中删除旧标记 以下是我的addMarker函数: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
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)的