gpt4 book ai didi

jquery - 尝试清除所有标记时,谷歌地图 v3 setMap 未定义

转载 作者:行者123 更新时间:2023-11-30 23:49:42 25 4
gpt4 key购买 nike

我看到这里的人可能会解释这个功能:

// 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=[]markersInfoArray = [] 移到了 for 循环的外侧,所以我得到了这个:

for( var i = 0; i < markersArray.length; i++ ){
markersArray[i].setMap(null);
}

但我得到了相同的错误markersArray[i].setMap不是一个函数

所以我环顾四周并尝试了这个方法:

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 = [];<p></p>

<p>function addMarker() {
var marker = new google.maps.Marker({
position: latlng,
map: map
});
markersArray.push(marker);
}</p>

<p>function removeMarker() {
if (markersArray) {
for (i=0; i < markersArray.length; i++) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
}
</p>

关于jquery - 尝试清除所有标记时,谷歌地图 v3 setMap 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4137308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com