Javascript 如何更改mapbox中的地图样式而不更改插入的geoJson
我曾尝试过在运行时使用无线电波盒将街道等地图样式更改为卫星、黑暗、明亮等。但是,当我将geojson文件加载到地图时,它仅显示在所选的当前地图样式上。当我更改地图样式时,geoJson文件就消失了。是否有任何方法可以在所有地图样式中保留geoJson文件,即使在更改样式时也是如此Javascript 如何更改mapbox中的地图样式而不更改插入的geoJson,javascript,styles,maps,mapbox,geojson,Javascript,Styles,Maps,Mapbox,Geojson,我曾尝试过在运行时使用无线电波盒将街道等地图样式更改为卫星、黑暗、明亮等。但是,当我将geojson文件加载到地图时,它仅显示在所选的当前地图样式上。当我更改地图样式时,geoJson文件就消失了。是否有任何方法可以在所有地图样式中保留geoJson文件,即使在更改样式时也是如此 var映射; mapboxgl.accessToken='pk.eyj1ijoic2fkaxf1zsisimeiojjajlrc3v0bjkxagxlmznzmjbwdmz3nmf1in0.KOe_ASpXmNUF_
var映射;
mapboxgl.accessToken='pk.eyj1ijoic2fkaxf1zsisimeiojjajlrc3v0bjkxagxlmznzmjbwdmz3nmf1in0.KOe_ASpXmNUF_TmN6h2CHw';
map=新的mapboxgl.map({
容器:'映射',//容器元素id
风格:'mapbox://styles/mapbox/light-v9',
中心:[90.899,26.372],//初始地图中心位于[北美洲,伦敦]
缩放:7
});
var layerList=document.getElementById('menu');
var inputs=layerList.getElementsByTagName('input');
功能切换层(层){
var layerId=layer.target.id;
map.setStyle('mapbox://styles/mapbox/“+layerId+”-v9');
}
对于(变量i=0;i
更改地图的样式
身体{
保证金:0;
填充:0;
}
#地图{
位置:绝对位置;
排名:0;
底部:0;
宽度:100%;
}
加载geoJson
基本的
街道
光线充足的
光
黑暗的
人造卫星
这将被反复记录。它似乎在按设计工作
我认为,尽管这听起来有悖常理,但最好是重新绘制。我在这里引用海报
此后,我删除了类级样式层和源变量,并在mapViewDidFinishLoadingMap中重新加载每次样式更改的数据。虽然不方便,但至少这样比较稳定。对不起,吵闹了。期待这一功能
这将被反复记录。它似乎在按设计工作 我认为,尽管这听起来有悖常理,但最好是重新绘制。我在这里引用海报 此后,我删除了类级样式层和源变量,并在mapViewDidFinishLoadingMap中重新加载每次样式更改的数据。虽然不方便,但至少这样比较稳定。对不起,吵闹了。期待这一功能
您必须使用新样式再次实例化地图
// Initially
var map = new mapboxgl.Map({
// Whatever options
style: 'some-style'
});
// On style change, remove map and re-initialize
map.remove();
map = new mapboxgl.Map({
// Options,
style: 'some-other-style'
});
您必须使用新样式再次实例化地图
// Initially
var map = new mapboxgl.Map({
// Whatever options
style: 'some-style'
});
// On style change, remove map and re-initialize
map.remove();
map = new mapboxgl.Map({
// Options,
style: 'some-other-style'
});
我们可以使用“Mapbox js”来更改样式,而无需更改其中的geoJson文件
要添加样式,请执行以下操作:
对于添加geoJson文件:我们可以使用“Mapbox js”来更改样式,而无需更改其中的geoJson文件
要添加样式,请执行以下操作:
对于添加geoJson文件:当我删除映射并重新初始化它时,加载的整个geoJson文件都会被删除。我需要geoJson文件在地图上,即使我们改变了风格。你能给我一个建议吗?感谢您的回复。您只需再次应用geojson层。因为一旦你重新初始化地图,它几乎是一块空白的石板。当我移除地图并重新初始化它时,加载的整个geojson文件被移除。我需要geoJson文件在地图上,即使我们改变了风格。你能给我一个建议吗?感谢您的回复。您只需再次应用geojson层。因为一旦你重新初始化地图,它几乎是一块空白板。op use mapbox GLOP use mapbox GL