Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从存储定位器的Mapbox数据集中提取geoJSON数据_Javascript_Mapbox - Fatal编程技术网

Javascript 从存储定位器的Mapbox数据集中提取geoJSON数据

Javascript 从存储定位器的Mapbox数据集中提取geoJSON数据,javascript,mapbox,Javascript,Mapbox,我最近为一个客户的应用程序学习了Mapbox商店定位器教程。它工作得很好,但是(如果可能的话)我现在想从Mapbox数据集或Tileset中提取geoJSON点,而不是我制作的store locator脚本中的内联geoJSON数据 有人建议我将数据集上传到一个tileset,然后将该tileset添加到一个样式中,这样确实可以正确显示地图上的点,但它不允许我制作的store locator脚本构建“stores”列表,因为geoJSON数据不再在脚本中内联 如何修改Store Locator脚

我最近为一个客户的应用程序学习了Mapbox商店定位器教程。它工作得很好,但是(如果可能的话)我现在想从Mapbox数据集或Tileset中提取geoJSON点,而不是我制作的store locator脚本中的内联geoJSON数据

有人建议我将数据集上传到一个tileset,然后将该tileset添加到一个样式中,这样确实可以正确显示地图上的点,但它不允许我制作的store locator脚本构建“stores”列表,因为geoJSON数据不再在脚本中内联

如何修改Store Locator脚本以使用Dataset URL填充“stores”变量,或者让脚本的位置列表部分能够从样式层提取geoJSON功能?谢谢

现在,geoJSON数据位于一个名为stores的变量中,然后将数据拉入地图的脚本如下所示:

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",
});
我还没有找到直接添加数据源的方法