meface/docs/article/gis/cesiumjs/cesiumEvent.md

58 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 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` :鼠标滚轮事件