在Mapbox GL JS中,我正在从本地托管的mbtiles文件中添加一个矢量瓦片源。将这个源添加到我的地图实例中很简单,如下图。
map.addSource("polylinesSource",{
"type":"vector",
"tiles": [
"http://localhost:8000/polylinesJoined/{z}/{x}/{y}.pbf"
]
})
来自该服务的源-层将是动态的,我希望有一种方法可以在源加载后引用所有这些层。是否可以在加载源后列出所有的图层?
这一点出乎意料的费劲。Mapbox-GL-JS并没有暴露任何方法来列出一个磁贴集中可用的矢量磁贴源层。
我建立了 矢量检查员 来解决这个问题。这里的代码向你展示了从.pbf中提取这些信息的过程。https:/github.comstevagevector-inspector-apiblobmasterserver.js。
另外,由于你有本地mbtiles文件,另一个选择是在本地提取它。使用我建立的另一个工具。瓷砖信息.
另外,如果你用类似于 宇宙星系 你可以直接在TileJSON端点访问层信息。