Diz*_*igh 4 arrays jquery google-maps-api-3
我见过这里有人可以解释这个功能:
// 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 = [];
};
};
};
Run Code Online (Sandbox Code Playgroud)
但我收到一个javascript错误...
中断错误markersArray [i] .setMap不是函数
该页面位于:http://www.focus-on-plants.com/locator.php
有任何想法吗???
<--------------- ---------------------更新>
我试过sugestions,也感动MarkersArray=[]和markersInfoArray = []到了的for循环,所以我有这样的一面:
for( var i = 0; i < markersArray.length; i++ ){
markersArray[i].setMap(null);
}
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的结果 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;
};
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的错误,是什么给出的?它几乎就像在的setMap()不存在,我读了另一个线程在这里,它从set_map改变的setMap(),但那些不工作对我来说无论是:(
Yaz*_*Yaz 12
我和你有同样的问题.但是将for-in循环更改为实际循环(如此处所示,修复它.
删除标记时无需创建新的google.maps.marker.
示例代码:
var markersArray = [];
function addMarker() {
var marker = new google.maps.Marker({
position: latlng,
map: map
});
markersArray.push(marker);
}
function removeMarker() {
if (markersArray) {
for (i=0; i < markersArray.length; i++) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
}