小编jce*_*has的帖子

Mapbox GL:获取图层 ID

我有一张包含几十层的地图,每层都有一个唯一的 ID。我有用于打开和关闭图层的复选框,为此我需要所有图层 ID 的单个数组。我不知道如何循环遍历所有地图图层来捕获图层 ID。我尝试使用map.getLayer(),但这将图层作为对象返回,而不是将图层 ID 作为字符串返回。我想循环遍历所有地图图层并将图层 ID 字符串推送到新数组。我该怎么做呢?

mapboxgl.accessToken = "myaccesstoken";

var map = new mapboxgl.Map({
container: "map", 
style: "mapbox://styles/mymapboxstyle",  
center: [-71.0664, 42.358],  
minZoom: 14 //  
}); 

map.on("style.load", function () {

map.addSource("contours", {
    type: "vector",
    url: "mapbox://mapbox.mapbox-terrain-v2"
    });

map.addSource("hDistricts-2017", {
    "type": "vector",
    "url": "mapbox://mysource"
    });

map.addLayer({
    "id": "contours",
    "type": "line",
    "source": "contours",
    "source-layer": "contour",
    "layout": {
        "visibility": "none",
        "line-join": "round",
        "line-cap": "round"
        },
    "paint": {
        "line-color": "#877b59",
        "line-width": 1
        }
     });  

map.addLayer({
    "id": "Back Bay Architectural District", …
Run Code Online (Sandbox Code Playgroud)

mapbox mapbox-gl mapbox-gl-js

2
推荐指数
1
解决办法
7521
查看次数

标签 统计

mapbox ×1

mapbox-gl ×1

mapbox-gl-js ×1