如何将其移植到 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/

10-12 04:21