第一种方法:
使用beforeId,在创建图层的时候控制图层的层级
initLayer(options, beforeId) {
this.map.addLayer(
{
id: options.id,
type: options.type,
source: options.source,
layout: options.layout,
paint: options.paint,
},
beforeId,
)
},
只要将需要在上方的图层ID传入beforeid即可
this.initLayer(
{
id: 'areaMapFill',
type: 'fill',
source: 'areaSource',
layout: {},
paint: {
'fill-color': '#0599B1',
'fill-opacity': ['case', ['boolean', ['feature-state', 'hover'], false], 0.5, 0.2],
},
},
'markerPoint',
)
第二种方式,移动图层,效果相同
if (_this.map.getLayer('markerPoint') && _this.map.getLayer('areaMapFill')) {
_this.map.moveLayer('areaMapFill', 'markerPoint')
_this.map.moveLayer('areaMapLine', 'markerPoint')
}