我是mapbox JS GL的初学者。我正在寻找一种方法,使用户有机会在单击按钮时更改mapbox中图层的可见性。
在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.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 );
在第一个警报中,我得到“可见性未定义” 但完全没有第二次警报的结果
答案 0 :(得分:1)
尝试一下:
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');
})