Javascript 从存储定位器的Mapbox数据集中提取geoJSON数据
我最近为一个客户的应用程序学习了Mapbox商店定位器教程。它工作得很好,但是(如果可能的话)我现在想从Mapbox数据集或Tileset中提取geoJSON点,而不是我制作的store locator脚本中的内联geoJSON数据 有人建议我将数据集上传到一个tileset,然后将该tileset添加到一个样式中,这样确实可以正确显示地图上的点,但它不允许我制作的store locator脚本构建“stores”列表,因为geoJSON数据不再在脚本中内联 如何修改Store Locator脚本以使用Dataset URL填充“stores”变量,或者让脚本的位置列表部分能够从样式层提取geoJSON功能?谢谢 现在,geoJSON数据位于一个名为stores的变量中,然后将数据拉入地图的脚本如下所示:Javascript 从存储定位器的Mapbox数据集中提取geoJSON数据,javascript,mapbox,Javascript,Mapbox,我最近为一个客户的应用程序学习了Mapbox商店定位器教程。它工作得很好,但是(如果可能的话)我现在想从Mapbox数据集或Tileset中提取geoJSON点,而不是我制作的store locator脚本中的内联geoJSON数据 有人建议我将数据集上传到一个tileset,然后将该tileset添加到一个样式中,这样确实可以正确显示地图上的点,但它不允许我制作的store locator脚本构建“stores”列表,因为geoJSON数据不再在脚本中内联 如何修改Store Locator脚
map.on('load', function(e){
map.addSource("places",{
"type": "geojson",
"data": stores
});
map.addLayer({
id: "layer-id",
type: "line",
source: "name-of-source",
"source-layer": "name-of-tileset",
});
非常晚的回答:
MapboxGL API支持通过以下方式添加tileset源:
map.addSource("name-of-source", {
type: "vector",
url: "mapbox://url-found-in-mapbox-under-tileset-id"
});
并像这样使用它:
map.on('load', function(e){
map.addSource("places",{
"type": "geojson",
"data": stores
});
map.addLayer({
id: "layer-id",
type: "line",
source: "name-of-source",
"source-layer": "name-of-tileset",
});
我还没有找到直接添加数据源的方法