Mapbox 调整地图';不透明度

Mapbox 调整地图';不透明度,mapbox,mapbox-gl-js,Mapbox,Mapbox Gl Js,您好–我正在尝试将贴图的不透明度设置为0.6,以便可以绘制一个不透明度为1.0的多边形 现在,设置多边形的不透明度。有没有办法改变地图样式的不透明度(streets-v10,在本例中) 谢谢。样式只是一个图层列表,您需要迭代所有图层并设置其不透明度。大概是这样的: map.getStyle().layers.map((layer) => { if (layer.type === 'symbol') { map.setPaintProperty(layer.id,

您好–我正在尝试将贴图的不透明度设置为
0.6
,以便可以绘制一个不透明度为
1.0
的多边形

现在,设置多边形的不透明度。有没有办法改变地图样式的不透明度(
streets-v10
,在本例中)


谢谢。

样式只是一个图层列表,您需要迭代所有图层并设置其不透明度。大概是这样的:

map.getStyle().layers.map((layer) => {
    if (layer.type === 'symbol')  {
        map.setPaintProperty(layer.id, `icon-opacity`, 0.5);
        map.setPaintProperty(layer.id, `text-opacity`, 0.5);
    } else {
        map.setPaintProperty(layer.id, `${layer.type}-opacity`, 0.5);
    }
})

嗯,我希望有一种更干净的方式(不在一堆层上循环)。但是,那就行了。谢谢你,安德鲁。