删除谷歌地图 API v3 中的叠加层


如何

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

您需要使用覆盖的setMap方法。从文档中:

要从地图中移除叠加层,请调用叠加层的setMap()方法, 通过null .

假设mapElements是一个对象数组,并且 marker 属性引用一个覆盖实例,那么您需要做的就是:

mapElements[lMapElementIndex]['marker'].setMap(null);

您的尝试会引发错误,因为您尝试将mapElements作为函数调用(当它显示为数组时)。没有必要这样做。只需摆脱函数调用,它应该可以正常工作。

相关内容

  • 没有找到相关文章

最新更新