大家在把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