Appearance
问题汇总
mapbox 多个图层叠加点击触发多个问题
获取地图图层的id
配置以下点击事件,并点击你需要知道的图层,就可以在控制台打印出该图层的id,用于方便查找图层。
js
window.glMap.on('click', (val) => {
const features = window.glMap.queryRenderedFeatures(val.point)
const clickedLayerId = []
// 查找第一个具有图层 ID 的要素
for (let i = 0; i < features.length; i++) {
if (features[i] && features[i].layer && features[i].layer.id)
clickedLayerId.push(features[i].layer.id)
}
console.log('点击的图层ID: ', clickedLayerId.join(','))
})
window.glMap.on('click', (val) => {
const features = window.glMap.queryRenderedFeatures(val.point)
const clickedLayerId = []
// 查找第一个具有图层 ID 的要素
for (let i = 0; i < features.length; i++) {
if (features[i] && features[i].layer && features[i].layer.id)
clickedLayerId.push(features[i].layer.id)
}
console.log('点击的图层ID: ', clickedLayerId.join(','))
})
移动地图图层
js
// 将此图层移动到最顶部
window.glMap.moveLayer(layerId)
// 将此图层移动到最顶部
window.glMap.moveLayer(layerId)
js
// id:要移动的层id。
// beforeId: 插入新层的现有层的ID。当查看地图时,id层将出现在beforeId层的下面。如果beforeId被省略,该层将被添加到layers数组的末尾,并出现在地图上的所有其他层之上
window.glMap.moveLayer(id, beforeId)
// id:要移动的层id。
// beforeId: 插入新层的现有层的ID。当查看地图时,id层将出现在beforeId层的下面。如果beforeId被省略,该层将被添加到layers数组的末尾,并出现在地图上的所有其他层之上
window.glMap.moveLayer(id, beforeId)