核心代码,本来一开始是想将所有的overlay在地图上拿到之后循环删除,但是发现会有问题,因为删除了一个之后overlay的数组会变,所以这里我的办法就是拿到所有的overlay的id,然后再通过id查找然后再去删除。
核心代码:
static removeOverlayWithString(string){
let overlays=CreateMap.mapObj.getOverlays()
let locationOverlayIds=[]
if(overlays.array_.length){
overlays.array_.forEach(item=>{
if(item.getId().indexOf(string)!=-1){
locationOverlayIds.push(item.getId())
}
})
}
if(locationOverlayIds.length){
locationOverlayIds.forEach(overlayId=>{
this.removeOverlay(overlayId)
})
}
}