欢迎光临散文网 会员登陆 & 注册

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

2023-03-04 13:31 作者:地理信息技术杂谈  | 我要投稿

矢量图层叠加在地图之后,通过鼠标和图层之中的对象进行交互,比如鼠标滑过显示提示信息,鼠标点击弹出feature详情,或是鼠标点击feature,触发跳转等操作。

mapbox-gl地图支持一系列的鼠标事件,包括鼠标单击(click)、鼠标双击(dbclick)、鼠标移动(mousemove)、鼠标按下(mousedown)等。

事件关闭通过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开发教程(二十):鼠标和矢量图层feature交互的评论 (共 条)

分享到微博请遵守国家法律