Skip to content

事件应用

鼠标事件

ScreenSpaceEventHandler

js
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
    let eventType = Cesium.ScreenSpaceEventType.LEFT_CLICK;
    //注册事件
    handler.setInputAction((event) => {
      console.log(event);
    }, eventType);

    //注销事件
    handler.removeInputAction(eventType);
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
    let eventType = Cesium.ScreenSpaceEventType.LEFT_CLICK;
    //注册事件
    handler.setInputAction((event) => {
      console.log(event);
    }, eventType);

    //注销事件
    handler.removeInputAction(eventType);

要素拾取

js
var picked = viewer.scene.pick(event.position);
var picked = viewer.scene.pick(event.position);

Entity选择

js
viewer.selectedEntityChanged.addEventListener(function (entity) {
      console.log(entity.id);
    });
viewer.selectedEntityChanged.addEventListener(function (entity) {
      console.log(entity.id);
    });

相机事件

通过鼠标控制

通过鼠标控制相机的方式取决于CameraEventType的常量

通过键盘控制

通过操作键盘实现相机的漫游,比如前进、后退、向上、向下等等

场景渲染事件

场景渲染事件主要包括以下四种:

  • scene.preUpdate: 更新或呈现场景之前将引发的事件
  • scene.postUpdate: 场景更新后以及渲染场景之前立即引发的事件
  • scene.preRender: 场景更新后以及渲染场景之前将引发的事件
  • scene.postRender: 渲染场景后立即引发的事件