首页 > 其他分享 >mapbox-gl开发教程(二十):鼠标和矢量图层feature交互

mapbox-gl开发教程(二十):鼠标和矢量图层feature交互

时间:2022-12-23 15:05:58浏览次数:46  
标签:鼠标 矢量图 feature 事件 mapbox 图层 gl

开发教程篇二十:鼠标和矢量图层feature交互 矢量图层叠加在地图之后,通过鼠标和图层之中的对象进行交互,比如鼠标滑过显示提示信息,鼠标点击弹出feature详情,或是鼠标点击feature,触发跳转等操作。 mapbox-gl地图支持一系列的鼠标事件,包括鼠标单击(click)、鼠标双击(dbclick)、鼠标移动(mousemove)、鼠标按下(mousedown)等。 鼠标事件的开启方式: //开启一个鼠标点击事件,作用到所有图层 map.on('click', (e) => { //事件执行 }); //开启一个鼠标点击事件,只在id为samplelayer的图层上起作用 map.on('click','samplelayer', (e) => { //事件执行 }); 事件关闭通过map.off进行结束,假如加载一个事件多次执行map.on,而不执行关闭,事件中的方法会多次响应,这个需要注意。 事件响应返回的e对象中,包含一系列的信息,地理坐标(LngLat)、屏幕坐标(point)等,当点击事件指定图层时,e.features是当前位置的所有feature,未指定图层时,需要通过map.queryRenderedFeatures(e.point),根据屏幕坐标,查询当前位置的feature。 mapbox-gl中的图层是以geojson的数据形式进行加载,点击的单个feature,也就是geojson数据中的一个feature对象,其中有坐标信息和属性信息,通过这些信息,可以进行下一步的操作。

相关链接:

https://docs.mapbox.com/mapbox-gl-js/api/events/#maptouchevent#features

mapbox-gl开发是讲述如何从基础到实际应用进行地图开发的教程,不定时进行持续进行更新,如有疑问,公众号留言进行讨论。 mapbox-gl官网地址:https://docs.mapbox.com/mapbox-gl-js/guides/

标签:鼠标,矢量图,feature,事件,mapbox,图层,gl
From: https://blog.51cto.com/speciallist/5965718

相关文章