我是使用Mapbox的新手。
我试图在我的地图上添加一个新图层,该图层位于水层上方但位于标签下方。
map.addLayer({
'id': 'maine',
'type': 'fill',
'source': 'maine',
'layout': {},
'paint': {
'fill-color': '#088',
'fill-opacity': 0.8
}
}, 'water');
(此代码来自Mapbox的一些示例代码。)
现在,这会创建一个位于水层和标签下方的图层。但是,我无法弄清楚层ID会将它带到水层之上。
这是我使用的样式表:
mapbox://styles/mapbox/light-v9
如何找到此样式表的其他有效图层ID?我曾尝试过“街道”,“道路”,“道路”,“土地”等,但没有任何效果。我认为此链接包含所有图层名称:
https://www.mapbox.com/studio/styles/mapbox/light-v9/
但唯一一个让我的新图层不仅仅是在所有东西之上的是水#39。救命啊!
答案 0 :(得分:0)
您可以通过将maine
磁贴集添加到新样式中来在Mapbox.com/studio中进行实验,然后您可以交互式移动图层以进行实验并证明您想要的效果。
addLayer
的第二个参数是before
,因此您的maine
来源应该在water
图层之前消失。有关详细信息,请参阅addLayer
上的文档
https://www.mapbox.com/mapbox-gl-js/api/#Map#addLayer
图层的名称由Style.json中的"id"
标识。
您可以转到您发布的链接
找到图层的名称 water
图层靠近Mapbox灯光样式的图层堆栈的底部。
以下是"id
中带水的图层。
"id": "waterway-river-canal",
"id": "water shadow",
"id": "water",
"id": "waterway-label",
"id": "water-label",
答案 1 :(得分:0)
您可以通过在Mapbox Studio中打开地图来找到您的图层ID。如果你转到View style details
(左侧窗口右上角带箭头的方框,它将显示所有图层。