当前位置: 首页 > 知识库问答 >
问题:

从MapBox获取GeoJson

向杜吟
2023-03-14

有没有一种方法可以使用标准ajax请求从mapbox获取geojson文件?

比如:

var geoJson;
jQuery.get("https://mapbox.com/someurl/?dataset-id=xxx&token=xxx").success(function(data){
  geoJson = data;
  console.log(geoJson);
});

我们目前下载了一个geojson文件,并将其作为本地脚本加载到站点上,一切正常。但是拜托,必须有一种方法从mapbox获取它,这样我们就不必不断更新本地文件。客户永远不会理解这个概念。

有人知道API访问点或获取geosjon文件的东西吗?

共有1个答案

谷梁子濯
2023-03-14

您可以使用Mapbox数据集API作为GeoJSON对象检索给定数据集的完整内容。

终点是:

GET https://api.mapbox.com/datasets/v1/{username}/{dataset_id}/features?access_token={access_token}

响应是GeoJSONFeature对象的层次结构。最有可能(或者可能总是?)的顶级对象是FeatureCollection。

此外,还有一个用于Mapbox API的Javascript SDK,它允许您编写这样的内容:

client.listFeatures('dataset-id', {}, function(err, collection) {
  // "collection" is the GeoJson data
  console.log(collection);
});
 类似资料:
  • 我已从mapbox复制并调整了此示例:https://docs.mapbox.com/mapbox-gl-js/example/filter-markers/ 一切工作正常,但我想有Geojson作为一个外部文件。 所以我修改了这个代码: 为此: 我在DevTools中得到了这个错误:uncaughttypeerror:无法读取未定义的属性'forEach'。 其余代码(我得到错误)如下所示:

  • 拒绝加载脚本'https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js',因为它违反了以下内容安全策略指令:脚本-src'自己'。请注意,没有显式设置脚本-src-elem,因此脚本-src被用作后备选项。

  • 我最近学习了Mapbox商店定位器教程,为我工作的巡回艺术家制作了一张简单的“即将到来的巡回日期”地图。这是伟大的工作,但我正在寻找一种更容易更新geoJSON点的方法-我将把页面的日常维护交给一位同事,我希望地图能够很容易地添加/删除点。目前,geoJSON点是内联编码到脚本中的,但是如果我可以通过geoJSON.io或Mapbox数据更新文件,并且它会自动将新点拉入地图中,这将是理想的。在任何

  • 我有一个。Geojson文件(称之为data.geojson),我用它来手动更新mapbox上的数据集。 假设我的data.geojson文件的结构如下: data.geojson存储在本地,每12小时使用另一个从web上抓取数据的python脚本更新每个功能的“待业”属性。 目前,为了在在线数据集中(存储在mapbox.com)更新这些属性,我正在手动导航到mapbox网站并重新加载data.g

  • MapBox 是 iOS 上 MapKit 的一个开源实现。

  • This project has moved: This project is now being maintained here: https://github.com/nativescript-community/ui-mapboxas it's become clear contrary to what I thought, I don't actually have enough time