从Mapbox GL JS矢量源获取/列出源图层

从Mapbox GL JS矢量源获取/列出源图层,mapbox,mapbox-gl-js,mapbox-gl,Mapbox,Mapbox Gl Js,Mapbox Gl,在Mapbox GL JS中,我从本地托管的mbtiles文件添加了一个矢量平铺源。将此源添加到我的地图实例很容易,如下所示 map.addSource("polylinesSource",{ "type":"vector", "tiles": [ "http://localhost:8000/polylinesJoined/{z}/{x}/{y}.pbf" ] }) 该服务的源层将是动态的,我希望在加载源层后能够引用所有这

在Mapbox GL JS中,我从本地托管的mbtiles文件添加了一个矢量平铺源。将此源添加到我的地图实例很容易,如下所示

map.addSource("polylinesSource",{
      "type":"vector",      
      "tiles": [
       "http://localhost:8000/polylinesJoined/{z}/{x}/{y}.pbf"
      ]
    })

该服务的源层将是动态的,我希望在加载源层后能够引用所有这些层。一旦加载,是否可以列出源中的所有层?

这是一个令人惊讶的复杂操作。Mapbox GL JS不公开任何方法来列出tileset中可用的矢量平铺源层

我是为了解决这个问题而建的。这里的代码向您展示了从.pbf中提取该信息的过程:

或者,由于您有本地mbtiles文件,另一个选项是在本地提取它。使用我构建的另一个工具

此外,如果您使用类似的方式提供瓷砖,则可以直接在TileJSON端点访问层信息