本来想用高德地图的,不料公司要求用百度地图,从网上找的资料来这里做下笔记
百度地图官网,我用的是JavaScript API v2.0
map.clearOverlays()
清除覆盖物有两个方法:map.removeOverlay()或者 map.clearOverlays(),clearOverlays()方法一次移除所有的覆盖物,removeOverlay()一次移除一个指定覆盖物。
这里有个百度DEMO,覆盖物示例,从多点里删除特定点-代码有详细讲解
保留某种覆盖物
方法一:disableMassClear()在添加覆盖的时候对不需要进行移除操作的覆盖设置
- 禁止覆盖物在map.clearOverlays方法中被清除
在地图上加一些图片,正好可以用到这个方法
let groundOverlay = new BMap.GroundOverlay(new BMap.Bounds(pStart, pEnd), groundOverlayOptions);
groundOverlay.setImageURL(require('../../assets/images/block/addBlock.png'))
groundOverlay.disableMassClear()
that.map.addOverlay(groundOverlay)
方法二:clearOverlays 清除地图上所有覆盖物
map.clearOverlays();
方法三:enableMassClear()允许覆盖物在map.clearOverlays方法中被清除
map.enableMassClear();
地图上经常要对覆盖物做操作,这几个方法也是我在项目中经常用到的