百度地图坑,覆盖物(Overlay)的方法

2,912 阅读1分钟

本来想用高德地图的,不料公司要求用百度地图,从网上找的资料来这里做下笔记

百度地图官网,我用的是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();

地图上经常要对覆盖物做操作,这几个方法也是我在项目中经常用到的