如何将其移植到v3? removeOverlay不包含在v3中。
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
答案 0 :(得分:4)
您需要使用叠加层的setMap
方法。 From the docs:
要从地图中移除叠加层,请调用叠加层的
setMap()
方法, 通过null
。
假设mapElements
是一个对象数组,并且marker
属性引用了一个覆盖实例,那么您需要做的就是:
mapElements[lMapElementIndex]['marker'].setMap(null);
您的尝试会抛出错误,因为您尝试将mapElements
作为函数调用(当它看起来像是一个数组时)。没有必要这样做。只是摆脱函数调用,它应该工作正常。