百度地图清除指定覆盖物(Overlay),保留某种覆盖物( disableMassClea),清除保留的覆盖物(enableMassClear ...

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:45   1629   0

1.map.removeOverlay();

removeOverlay()一次移除一个指定覆盖物

function deletePoint(){
        var allOverlay = map.getOverlays();
        for (var i = 0; i < allOverlay.length -1; i++){
            if(allOverlay[i].getLabel().content == "我是id=1"){
                map.removeOverlay(allOverlay[i]);
                return false;
            }
        }
    }

2.map.clearOverlays()

clearOverlays()方法一次移除所有的覆盖物

function deleteAllOverlays(){
    map.clearOverlays();
}

3.disableMassClear()保留某种覆盖物

我这里不需要对marker进行移除操作,所以设置如下:

marker.disableMassClear();

第二步:清除所要清除的覆盖物,这里需要清除所有的Polyline而不清除marker,现在可以直接使用

map.clearOverlays();

这样就能很方便的清除所有Polyline而保留marker;

4.enableMassClear() 取消禁止清除

但是需要对每个marker进行恢复操作,所以需要进行遍历:

 var allOverlay = map.getOverlays();
  for (var i = 0; i < allOverlay.length; i++) {
       allOverlay[i].enableMassClear();
  }

这样就恢复了所有覆盖物的可清除操作

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP