如何将其移植到 v3? v3 中不包含 removeOverlay。
if( mapElements[lMapElementIndex]['marker'] != 0 ){
//map.removeOverlay(mapElements[lMapElementIndex]['marker']); V2
}
V3?
if( mapElements[lMapElementIndex]['marker'] != 0 ){
//map.removeOverlay(mapElements[lMapElementIndex]['marker']);
mapElements(mapElements[lMapElementIndex]['marker']).setMap(null);
} //but throws an error mapElements is not a function
最佳答案
您需要使用覆盖层的 setMap
方法。 From the docs :
假设 mapElements
是一个对象数组,并且 marker
属性引用一个覆盖实例,那么您需要做的就是:
mapElements[lMapElementIndex]['marker'].setMap(null);
您的尝试会引发错误,因为您试图将
mapElements
作为函数调用(当它看起来是一个数组时)。没有必要这样做。只需摆脱函数调用,它应该可以正常工作。关于google-maps - Google Maps API v3 中的 removeOverlay,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10914460/