我看到这里的人可能会解释这个功能:
// REMOVE All MARKERS FUNCTION
// Removes all markers currently on map
// PARAMS: None
function removeAllMarkers(){// removes all markers from map
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
markersArray = [];
markersInfoArray = [];
};
};
};
但我收到一个 JavaScript 错误...
出错时中断
markersArray[i].setMap 不是函数
该页面位于:http://www.focus-on-plants.com/locator.php
有任何想法吗???
我尝试了这些建议,也移动了MarkersArray=[]
and markersInfoArray = []
到 for 循环的外面,所以我有这个:
for( var i = 0; i < markersArray.length; i++ ){
markersArray[i].setMap(null);
}
但我得到同样的error markersArray[i].setMap is not a function
所以我环顾四周并尝试了这个方法:
function removeAllMarkers(){// removes all markers from map
alert('REMOVE MARKERS - markersArray count:'+ markersArray.length);
while(markersArray[0]){
markersArray.pop().setMap(null);
markersInfoArray.pop()
}
markersArray.length = 0;
markersInfoArray.length = 0;
};
我仍然遇到同样的错误,是什么原因造成的?它几乎就像 setMap() 不存在一样,我在另一个线程中读到here它从 set_map 更改为 setMap() 但那些对我也不起作用:(
我和你有同样的问题。但是将 for-in 循环更改为实际循环(如建议的那样here, 修复。
删除标记时无需创建新的 google.maps.marker。
示例代码:
var markersArray = [];
函数 addMarker() {
var 标记 = 新 google.maps.Marker({
位置:经纬度,
地图: 地图
});
标记数组.push(标记);
}
函数removeMarker() {
如果(标记数组){
for (i=0; i
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)