在Mapbox GL JS中添加GeoJson源以创建饼图

时间:2019-04-22 14:54:24

标签: mapbox geojson mapbox-gl-js

我是MapBox和JavaScript / html的新手,我正在使用本地系统上的10年大型数据集构建华盛顿特区犯罪地图。该文件太大(约45mb),可托管在MapBox上(文件限制为5mb)。我已经尝试过Github页面,但也无法使其正常工作。我需要我的Java脚本来访问数据集并使用一些属性和集合来创建饼图。

我尝试了多种访问数据的方法,将其托管在github页面上,然后将url传递给add source mapbox函数。我从来没有想出正确的方法来做到这一点。香港专业教育学院试图使用本地路径访问文件,但我也想不出正确的方法。另外,我尝试使用数据的子集(仅病房3数据),将其上载到mapbox数据集,然后尝试以这种方式访问​​它,但遭到cors策略错误阻止。

这是我最近一次尝试访问我上传到mapbox的文件的尝试。这将返回以下错误。我想添加一个源,然后为每个策略Shift属性类型建立一个集群。不确定这是否是正确的处理方法,但目前我还无法正确加载数据,因此我需要首先克服这一障碍。

  

ERROR访问以获取   'https://studio.mapbox.com/datasets/benpdoiron/cjuo3a0wha6knu9q7t9ze5gvc/'   来自原点“ null”的数据已被CORS政策阻止:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。如果不透明的响应满足您的需求,请设置请求的   模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。

代码片段

var url="https://studio.mapbox.com/datasets/benpdoiron/cjuo3a0wha6knu9q7t9ze5gvc/";

map.on('load', function () {
    map.addSource('Pie_Chart1', {
        type: 'geojson',
        data: url,
        cluster: true,
        clusterProperties: { 
        day: ["+", ["get", 'DAY']],
        evening: ["+", ["get", 'EVENING']],
        midnight: ["+", ["get", 'MIDNIGHT']]

        }

预期结果是加载了数据,我可以使用其属性和信息来创建函数和层。理想情况下,我认为将整个数据集(大约45mb)托管在github页面上并进行访问是可行的,但我似乎无法弄清楚如何正确地传递文件mapbox添加源

0 个答案:

没有答案