如何使用Mapbox JS GL更改自定义样式中图层的可见性?
我是mapbox JS GL的初学者。我正在寻找一种方法,让用户有机会在单击按钮时更改mapbox中图层的可见性。如何使用Mapbox JS GL更改自定义样式中图层的可见性?,mapbox,Mapbox,我是mapbox JS GL的初学者。我正在寻找一种方法,让用户有机会在单击按钮时更改mapbox中图层的可见性。 在MapBox studio中,我将添加到基本样式可见层“区域”。我试图这样做: <script> ... var mapp = new mapboxgl.Map({ container: 'map', style: 'mapbox://styles/terentev/ck2so0c4h1q5x1cqow0aj9nh8', center: [34.047, 63.779
在MapBox studio中,我将添加到基本样式可见层“区域”。我试图这样做:
<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.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
,但映射尚未正确加载代码看起来正常。只要确保你的风格有“区域”层。有控制台错误吗?
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');
})