我正在使用Mapbox GL JS和Mapbox Streets基础层。我添加了一个带有白色边框和透明填充的多边形图层,但我发现很难读取多边形图层下面的底图标签。查看标签是如何被白色边框覆盖的:
有什么方法可以确保标签位于多边形层的顶部,或至少不被它遮挡?
我的代码如下所示:
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [-2.839, 54.579],
zoom: 4
});
map.on('load', function () {
map.addSource('constituencies', {
'type': 'vector',
'url': 'mapbox://pcsu.xxx'
});
var constituencyLayer = map.addLayer({
'id': 'constituencies',
'source': 'constituencies',
'source-layer': 'constituencies',
'type': 'fill',
'paint': {
'fill-color': 'rgba(162,181,205,0.6)',
'fill-outline-color': 'white'
},
'layout': {
'visibility': 'visible'
}
});
答案 0 :(得分:1)
查看this Mapbox example并使用map.addLayer(layer, [before])
的{{3}}。如果此图层before
存在,则新图层将放置在其之前/之下。我认为参数命名在这里有点令人困惑。
最低标签图层的名称取决于样式。大部分时间你都在寻找housenum-label
。在the second argument中还讨论了如何简化此过程,例如引入占位符图层。