gpt4 book ai didi

mapbox - 如何使用 Mapbox JS GL 以自定义样式更改图层的可见性?

转载 作者:行者123 更新时间:2023-12-04 10:59:49 24 4
gpt4 key购买 nike

我是 mapbox JS GL 的初学者。我正在寻找一种方法,让用户有机会在单击按钮时更改 map 框中图层的可见性。
在 MapBox 工作室中,我添加到基本样式可见层“区域”。我试图这样做:

<script> ...
var mapp = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/terentev/ck2so0c4h1q5x1cqow0aj9nh8',
center: [34.047, 63.779],
zoom: 5.41
});
mapp.setLayoutProperty('regions','visibility','none');

但图层并没有消失。

当我尝试从样式中获取图层时:
var v = mapp.getStyle().layers;

我不能。怎么做才对?
提前致谢!

这是图层“区域”,添加到基本样式:
layer 'regions' in mapbox studion
我试过这样:
var v = mapp.getLayoutProperty('regions', 'visibility');
alert('visibility '+ v );
mapp.setLayoutProperty('country-label','visibility','visible');
v = mapp.getLayoutProperty('regions', 'visibility');
alert('visibility '+ v );

第一次警报时,我收到“可见性未定义”
但是第二次警报根本没有结果

最佳答案

尝试这个:

var mapp = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/terentev/ck2so0c4h1q5x1cqow0aj9nh8',
center: [34.047, 63.779],
zoom: 5.41
});

mapp.on('load', () => {
mapp.setLayoutProperty('regions','visibility','none');
})

看起来您正在调用 setLayoutProperty在 map 正确加载之前

关于mapbox - 如何使用 Mapbox JS GL 以自定义样式更改图层的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58888462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com