本文主要是介绍Mapbox中点图层和面图层点击事件重叠,禁止点击穿透方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用mapbox的小伙伴们可能都遇到过这个问题,就是当地图上有两个图层,一个面图层一个点图层,二者相重合的时候。假设我们想点击点位弹窗展示一些内容,也想点击面图层的时候弹窗展示一些内容,这时候一个有意思的问题就产生了,就是点击点位弹窗的时候面图层对应的弹窗也会弹出来,就像这样(为了大家看的清楚我将点的弹窗偏移一些)
因为按照mapbox官方的写法,我们会这样写代码:
map.on("click", "point", (e) => {const dom = "<div>我是点弹窗</div>";const feature = e.features[0];const popup = new mapboxgl.Popup({ offset: [30, 30] }).setHTML(dom).setLngLat(feature.geometry.coordinates).addTo(map);});map.on("click", "polygon", (e) => {const dom = "<div>我是面弹窗</div>";const popup = new mapboxgl.Popup().setHTML(dom).setLngLat([e
这篇关于Mapbox中点图层和面图层点击事件重叠,禁止点击穿透方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!