一、场景引入
做地图轨迹时,轨迹连线不明显,需增加地图遮罩效果
二、解决方案
使用 Polygon 方法,定义一个阴影覆盖物
代码如下:
// 添加遮罩 addMask() { var maskPoints = [] var EN_JW = new BMap.Point(180, 90) // 东北角 var NW_JW = new BMap.Point(-180, 90) // 西北角 var WS_JW = new BMap.Point(-180, -90) // 西南角 var SE_JW = new BMap.Point(180, -90) // 东南角 maskPoints.push(EN_JW) maskPoints.push(SE_JW) maskPoints.push(WS_JW) maskPoints.push(NW_JW) this.mask = new BMap.Polygon(maskPoints, { strokeColor: 'none', strokeOpacity: 1, fillColor: '#000', //遮罩颜色 fillOpacity: 0.3, //遮罩透明度 }) this.mask.disableMassClear() //禁止覆盖物在 map.clearOverlays 方法中被清除 this.map.addOverlay(this.mask) },
效果:
说明:
上述是在整个地图添加遮罩,可根据传入的点位,自定义图形,如某区县取消遮罩