marker.setMap(null);不起作用
marker.setMap(null); does not work
我想从谷歌地图中删除所有旧标记并添加新标记,但setMap(null)不起作用,它添加新标记而不删除旧标记。请查看我的代码
var markers = data['map'];
if (marker != null) {
marker.setMap(null);
}
marker.setMap(null);
for (var i = 0; i < markers.length; i++) {
alert(1);
var data = markers[i];
var infoWindow = new google.maps.InfoWindow();
var img1 = data.imageUrl != '' ? '<img src= <?php echo $baseUrl; ?>/uploads/property/thumb/' + data.imageUrl + '>' : "";
var bed1 = data.beds != '' ? data.beds + ' beds' : "";
var bath1 = data.bath != '' ? data.bath + ' bath' : "";
var squarefeet1 = data.areaSqaureFeet != '' ? data.areaSqaureFeet + ' squarefeet' : "";
var contentString = '<div id="content">';
contentString += img1+ '<p>' + data.propertyAddress + ' </p><p> ' + bed1 + ' </p><p>' + bath1 + ' </p><p>' + squarefeet1 + ' </p>';
contentString += '</div>';
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.title);
infowindow.open(map, this);
});
}
}
我没有看到你在哪里定义"标记"变量。但是,一般来说,您应该创建一个 Marker ->将其推送到全局定义的数组(或只是您可以访问的数组)中,以便您拥有对它的引用。然后,您可以只运行标记数组并将其设置为 null。所以你可以这样做:
var markers = []; //Global Marker array to keep references
var marker = new google.maps.Marker({
position: {lat: lat, lng: lng},
icon: icon,
map: map
});
markers.push(marker);
这将使您的标记保持可访问性。如果要将它们设置为 null你可以写一个这样的函数:
removeMarker: function () {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers = [];
},
希望有帮助。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- Javascript 私有变量除非先设置为 null,否则不起作用
- marker.setMap(null);不起作用
- addEventListener 不起作用,总是返回 null
- d3js 加载静态 svg 在 IE9 中不起作用(responseXML = null)
- Javascript null 或 empty 控件不起作用
- HTML POST->重定向工作,XMLHTTPrequest->重定向不起作用(无法从null发出任何请求
- 从客户端到服务器的SocketIO回调没有'不起作用(改为null对象)
- 用于IE的xml解析器不起作用.loadXML返回null
- Timer 不起作用/ JavaScript/ innerHTML null
- 未捕获的类型错误:不能设置属性'onclick'null的onclick不起作用
- clearInterval和将变量设置为null不起作用
- php变量提供的Null innerHTML仅在Firefox中不起作用
- document.getElementById null 和/或不起作用,即使它在那里并且加载后也是如此