Mapbox - 我的图层ID是什么?

时间:2016-12-01 07:10:58

标签: html mapbox

我是使用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。救命啊!

2 个答案:

答案 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(左侧窗口右上角带箭头的方框,它将显示所有图层。