cesium.js入门基础教程四(事件)

发布时间 2023-12-18 09:43:17作者: 奥托

事件简介

Cesium中大的事件按照类型进行分类,可以分为如下几种:

  • 鼠标键盘事件
  • 相机事件
  • 数据加载事件
  • 场景加载事件

 

按照事件的使用方式进行分类,可以分为如下两种:

  • 创建事件处理器Handler并指定事件触发类型定义事件,如与鼠标键盘事件相关的屏幕空间事件处理器ScreenSpaceEventHandler
  • Cesium中已经定义好事件回调,只需要添加事件监听的回调函数即可。如监听3D Tiles的瓦片全部加载完毕的回调函数 allTilesLoaded

鼠标键盘事件

要定义鼠标键盘事件,首先要创建一个屏幕空间处理器ScreenSpaceEventHandler,该方法需要传入一个HTMLCanvasElement用于指定事件处理器应用在哪个Canvas元素上,一般情况下指定为viewer.scene.canvas,创建一个事件处理器的完整代码如下:

const handler = new Cesium.ScreenSpaceEventHandler(viewer,scene.canvas);

这样就成功创建了一个事件处理器,接下来就要使用事件处理器上的setInputAction方法来定义事件触发的类型和执行事件触发的回调函数。

其中鼠标的事件类型叫做 “屏幕空间事件类型ScreenSpaceEventType”,键盘的事件类型叫做 “键盘事件修饰符KeyboardEventModifier

 

屏幕空间事件类型 ScreenSpaceEventType