GeoJSON层赢得';t在MapBox GL JS上加载
我试图在MapBox底图上添加一层GeoJSON数据,但这不起作用。我试过他们的一些教程,比如和,但都不管用 这是我的代码: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
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”
}
});
});代码>