Cesium 实战 36 - 地图鼠标移动事件功能
Cesium 实战 36 - 地图鼠标移动事件功能
- 核心代码
- 1. 鼠标移动事件注册
- 2. 移除事件
- 参数说明
- MOUSE_MOVE 事件对象
- 两种高度获取方式
- 完整代码
- 实现要点
- e.position 与 e.endPosition 的区别
- getHeight vs positionCartographic.height
- 高频事件性能
- 在线示例
鼠标移动事件(MOUSE_MOVE)可实时获取鼠标在地图上的位置坐标,包括经度、纬度和地形高度。该功能是坐标拾取、要素查询、测量工具等交互的基础组件。
Cesium 通过ScreenSpaceEventHandler+MOUSE_MOVE事件类型监听鼠标移动,搭配scene.globe.getHeight获取地形高度。
本文包括核心代码、完整代码以及在线示例。
核心代码
核心实现涉及以下知识点:
- MOUSE_MOVE 事件:
ScreenSpaceEventType.MOUSE_MOVE+e.endPosition - 坐标转换:屏幕坐标 →
Cartesian3→Cartographic→ 经纬度 - 地形高度:
scene.globe.getHeight(cartographic