2.3 KiB
2.3 KiB
Cesium 的事件绑定与取消
方式一:创建一个事件处理对象,可设置事件类型对应的监听方法和取消事件。
//获取地图对象
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
//设置监听方法
handler.setInputAction(function(event) {
//我这里举个例子点击鼠标左键获取当前高度
var height = viewer.camera.positionCartographic.height;
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
//移除事件
handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)
方式二:是直接在viewer实例上添加、清除事件。
这会污染整个viewer实例且当前实例存在其它鼠标事件会一并清除(适合一键清除地图上事件)。
// 绑定事件
viewer.screenSpaceEventHandler.setInputAction(function (wheelment) {
//我这里举个例子点击鼠标左键获取当前高
var height = viewer.camera.positionCartographic.height;
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
// 取消事件
viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
事件类型
Ceisum
中的事件类型:
Cesium.ScreenSpaceEventType.LEFT_CLICK
:鼠标左击事件Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
:鼠标左键双击事件Cesium.ScreenSpaceEventType.LEFT_DOWN
:左键鼠标按下事件Cesium.ScreenSpaceEventType.LEFT_UP
:左键鼠标抬起事件Cesium.ScreenSpaceEventType.MIDDLE_CLICK
:中键单机Cesium.ScreenSpaceEventType.MIDDLE_DOWN
:中键按下Cesium.ScreenSpaceEventType.MIDDLE_UP
:中键抬起Cesium.ScreenSpaceEventType.MOUSE_MOVE
:鼠标移动Cesium.ScreenSpaceEventType.PINCH_END
:表示两指事件在触摸面上的结束。Cesium.ScreenSpaceEventType.PINCH_MOVE
:两指移动Cesium.ScreenSpaceEventType.PINCH_START
:表示在触摸面上发生两指事件的开始。Cesium.ScreenSpaceEventType.RIGHT_CLICK
:鼠标右击事件Cesium.ScreenSpaceEventType.RIGHT_DOWN
:鼠标右键按下Cesium.ScreenSpaceEventType.RIGHT_UP
:鼠标右键抬起Cesium.ScreenSpaceEventType.WHEEL
:鼠标滚轮事件