Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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
GeoJSON层赢得';t在MapBox GL JS上加载_Mapbox_Geojson_Mapbox Gl_Mapbox Gl Js - Fatal编程技术网

GeoJSON层赢得';t在MapBox GL JS上加载

GeoJSON层赢得';t在MapBox GL JS上加载,mapbox,geojson,mapbox-gl,mapbox-gl-js,Mapbox,Geojson,Mapbox Gl,Mapbox Gl Js,我试图在MapBox底图上添加一层GeoJSON数据,但这不起作用。我试过他们的一些教程,比如和,但都不管用 这是我的代码: var map = new mapboxgl.Map({ container: 'themap', center: [-73.9939914, 40.7274072], zoom: 17, style: 'mapbox://styles/mapbox/streets-v9' }); map.on('load', f

我试图在MapBox底图上添加一层GeoJSON数据,但这不起作用。我试过他们的一些教程,比如和,但都不管用

这是我的代码:

var map = new mapboxgl.Map({
      container: 'themap',
      center: [-73.9939914, 40.7274072],
      zoom: 17,
      style: 'mapbox://styles/mapbox/streets-v9'
  });

  map.on('load', function () {

    map.addSource('plutodata', {
    type: 'geojson',
    url: 'http://url.geojson'
    });
   map.addLayer({
   id: 'pluto',
   type: 'fill',
   source: 'plutodata',
   'source-layer': 'plutodata',
       layout: {
         visibility: 'visible'
       },
       paint: {
         'fill-color': 'rgba(61,153,80,0.55)'
       }
    });
  });
地图将加载,但GeoJSON层不会出现。知道我哪里出错了吗

完整解决方案:


tmcw下面的帖子是解决这个问题的第一步。我将COR启用头添加到.htaccess文件中。第二步是map.addSource下的“url”属性应该是“data”。现在一切正常。

要让Mapbox GL JS从此服务器加载数据,它需要使用,然后。您需要在服务器或文件上加载数据,以允许其他服务器请求数据。

要使Mapbox GL JS从此服务器加载数据,它需要使用和。您需要在服务器或文件上创建一个新图层,以允许其他服务器请求数据。

您可以将geojson作为tileset上载到Mapbox,然后使用您的样式创建一个新图层,并在“数据图层”选项卡下输入geojson tileset。例如,如果您将新层称为“mygeojson”,那么您可以在.js中调用它,例如:

map.on('load',function(){
map.addLayer({
'id':'mygeojson',
'来源':'复合',
“源层”:“mygeojson”,
“类型”:“填充”,
“油漆”:{
“填充颜色”:“f00”
}
});

});

您可以将geojson作为tileset上载到Mapbox,然后以您的样式创建一个新图层,并在“数据图层”选项卡下输入geojson tileset。例如,如果您将新层称为“mygeojson”,那么您可以在.js中调用它,例如:

map.on('load',function(){
map.addLayer({
'id':'mygeojson',
'来源':'复合',
“源层”:“mygeojson”,
“类型”:“填充”,
“油漆”:{
“填充颜色”:“f00”
}
});
});