google map api v3如何清除所有叠加层

       大家在把google map api v2改造为google map api v3的时候,可能会有遇到一个比较郁闷的事,就是v3没有了v2中常用到的消除地图上所有叠加层的方法:clearOverlays(),那么google map api v3是如何实现清除所有叠加层的呢?原来新版本是通过定义一个数组来存放所有的叠加层,清除的时候把数组中的叠加层一一用setMap(null)从地图上删除叠加层即可,注意,这种方法并没有真正删除叠加层,也就是说,对叠加层的引用还没有删除,还可以通过调用setMap(map)方法重新在地图上显示,只有把数组的length设置为0的时候才真正删除了,下面是详细的代码。

//把叠加物从地图上清除

function clearOverlays() {
    if (markersArray) {
      for (i in markersArray) {
        markersArray[i].setMap(null);
      }
    }
  }

  // 删除所有叠加物 

 function deleteOverlays() {
    if (markersArray) {
      for (i in markersArray) {
        markersArray[i].setMap(null);
      }
      markersArray.length = 0;
    }
  }

更详细的内容请参考官网的说明:google map

猜你喜欢

转载自coolzhi.iteye.com/blog/932201