地图框GL图层出现问题
Having trouble with mapbox GL layers
因此,我试图从mapbox GL中加载的样式图中获取一个样式层,但它一直返回未定义的元素。我已经无计可施了。
我正在尝试将底层水层存储在图层变量中,以便更改其属性。例如,它的可见性。
这是代码:
var layers=map.getLayer('water');
changeinnerHTML(featuresWindow, JSON.stringify(layers, null, 1));
PS-多年后我将重返编码领域。我只是又刷了一下我的睡衣。
PPS:如果你介意的话,这是整个代码:
<script>
//Mapbox Access Token
mapboxgl.accessToken = 'pk.eyJ1IjoiYWtzaGF5a2h1cmFuYSIsImEiOiJjaWY3dXdkN3MxMzZ3czZsempwbWc0MnRoIn0.y7jHQWK5lONsJ_6u3EJSTg';
// Select html objects that constantly change into javascript variables. Henceforth known as elementVar
var featuresWindow = document.getElementById('features');
// GLOBAL FUNCTIONS : Functions that are used repeatedly
// Function to change inner HTML of div, span etc elements
function changeinnerHTML(elementVar, newvalue) {
elementVar.innerHTML = newvalue;
return null;
}
// Function to change colours.
function switchColor(myColor, layer) {
map.setPaintProperty(layer, 'fill-color', myColor);
}
// Intialise map
if (!mapboxgl.supported()) {
alert('Your browser does not support Mapbox GL!');
} else {
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox://styles/akshaykhurana/cihlwytjz001kb4kqu0b62xq7', //stylesheet location
minZoom: 9, //minimum zoom value
maxZoom: 16, //maximum zoom value
interactive: true
});
}
// Get some layers man.
var layers=map.getLayer();
changeinnerHTML(featuresWindow, JSON.stringify(layers, null, 1));
// Push information to sidebar on mouse hover
map.on('click', function(e) {
map.featuresAt(e.point, {
radius: 5
}, function(err, features) {
if (err) throw err;
changeinnerHTML(featuresWindow1, JSON.stringify(features, null, 2));
});
});
</script>
不确定你是否已经弄清楚了,但基本上你只需要去掉"map.getLayer('water')"部分。
var layers = 'water';
map.setLayoutProperty(layers, 'visibility', 'none');
我不确定你用这个做什么,因为你可以在Mapbox studio编辑器中将样式设置为不可见,但当我更改布局属性时,我会用.click(函数)这样做:
$('.className').click(function(e) {
e.preventDefault();
var layers = 'water';
map.setLayoutProperty(layers, 'visibility', 'none');
});
然后你所要做的就是用类"className"在HTML中添加一个按钮或任何其他项目,只要点击它,水层就会变得不可见。
相关文章:
- 更改图层中单个矢量特征的图标
- 谷歌地图热图图层点半径
- 谷歌地图-更改图层图标大小
- 如何通过ID获取图层对象
- CS5隐藏图层的速度非常慢
- 开放图层导出为 KML 并保留我的地图样式
- 传单问题:使折线的图层组不可单击
- 将图层添加到另一个图层
- 图层删除(图像);在 Kinetic.js 中不起作用
- HTML5 Canvas 的初学者,使用图层
- 如何在“控制缩放”下的“打开图层”上添加一些图像
- 无法让 jQuery floatThead 处理嵌入在选项卡式图层中的表
- 如何在开放层 3 中设置矢量图层选择的样式
- 添加支持异步重新加载的 Web 图层
- 3d图层滑块Wordpress插件:编辑3d颜色
- 在jQuery中移动DOM元素(图层滑块)
- 清除谷歌地图图层时遇到问题
- 地图框GL图层出现问题
- 通过组合钩子旋转图层的问题
- 显示复选框选择 - 在 Google 地图中绘制图层时出现问题的 KML 图层