基于canvas事件 -- Cesium.ScreenSpaceEventType
鼠标左键
| 事件类型 |
含义 |
| LEFT_CLICK |
单击 |
| LEFT_DOUBLE_CLICK |
双击 |
| LEFT_DOWN |
左键按下 |
| LEFT_UP |
左键弹起 |
鼠标中键
| 事件类型 |
含义 |
| MIDDLE_CLICK |
单击 |
| MIDDLE_DOWN |
按下 |
| MIDDLE_UP |
弹起 |
鼠标右键
| 事件类型 |
含义 |
| RIGHT_CLICK |
单击 |
| RIGHT_DOWN |
按下 |
| RIGHT_UP |
弹起 |
双指触摸
| 事件类型 |
含义 |
| PINCH_START |
双指开始事件 |
| PINCH_END |
双指结束事件 |
| PINCH_MOVE |
双指更改事件 |
其他鼠标事件
| 事件类型 |
含义 |
| MOUSE_MOVE |
鼠标移动事件 |
| WHEEL |
鼠标滚轮事件 |
使用事件
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
let eventType= Cesium.ScreenSpaceEventType.LEFT_CLICK
//注册事件
handler.setInputAction(event=>{
console.log(event);
}, eventType);
//注销事件
handler.removeInputAction(eventType)
相机事件 -- Cesium.CameraEventType
鼠标操作相机事件
| 事件类型 |
含义 |
| LEFT_DRAG |
按住鼠标左键,然后移动鼠标并释放按钮 |
| MIDDLE_DRAG |
按住鼠标中键,然后移动鼠标并释放按钮 |
| PINCH |
触摸表面上的双指触摸 |
| RIGHT_DRAG |
按住鼠标右键,然后移动鼠标并释放按钮 |
| WHEEL |
滚动鼠标中键 |
使用事件
// 需要回调的函数
function callbackFunc(event){
cosnole.log(event)
}
// 注册事件
// 相机开始移动处理事件
viewer.scene.camera.moveStart.addEventListender(callbackFunc)
// 相机停止移动处理事件
viewer.scene.camera.moveEnd.addEventListender(callbackFunc)
// 注销事件
// 相机开始移动处理事件
viewer.scene.camera.moveStart.removeEventListender(callbackFunc)
// 相机停止移动处理事件
viewer.scene.camera.moveEnd.removeEventListender(callbackFunc)
渲染事件
// 需要回调的函数
function callbackFunc(event){
cosnole.log(event)
}
// 渲染之前执行
viewer.scene.preRender.addEventListender(callbackFunc)
viewer.scene.preRender.removeEventListender(callbackFunc)
// 更新之前执行
viewer.scene.preUpdate.addEventListender(callbackFunc)
viewer.scene.preUpdate.removeEventListender(callbackFunc)
// 实时渲染执行
viewer.scene.postRender.addEventListender(callbackFunc)
viewer.scene.postRender.removeEventListender(callbackFunc)
// 实时更新执行
viewer.scene.postUpdate.addEventListender(callbackFunc)
viewer.scene.postUpdate.removeEventListender(callbackFunc)