Skip to content

问题汇总

mapbox 多个图层叠加点击触发多个问题

CSDN连接

获取地图图层的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)

fpi-component