### Cesium 的事件绑定与取消 > 转自[https://blog.csdn.net/Tmraz/article/details/115317072](https://blog.csdn.net/Tmraz/article/details/115317072) #### 方式一:创建一个事件处理对象,可设置事件类型对应的监听方法和取消事件。 ```javascript //获取地图对象 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实例且当前实例存在其它鼠标事件会一并清除(适合一键清除地图上事件)。 ```javascript // 绑定事件 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` :鼠标滚轮事件