cesium事件简单全面描述

我在开发中,需要一个功能,时时获取经纬度和相机角度。需要对cesium中对事件实现监听。

cesium事件主要几大类类型:

1、鼠标事件:ScreenSpaceEventType
2、键盘事件:KeyboardEventModifier
3、相机事件:CameraEventType

事件之间可以通过组合形成复杂事件,比如下面代码

// 监听拖拽
export function monitorDrag() {
  const viewer = window.viewer;
  const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
  let previousPickedEntity = undefined;
  handler.setInputAction(function (movement) {
    //拾取笛卡尔坐标
    var ellipsoid = viewer.scene.globe.ellipsoid;//全局椭球体
    //拾取鼠标在椭圆上的结束点笛卡尔坐标点
    var cartesian = viewer.scene.camera.pickEllipsoid(movement.endPosition, ellipsoid)
    if (cartesian) {
      //笛卡尔坐标转制图坐标
      var cartographic = ellipsoid.cartesianToCartographic(cartesian);
      const longitude = Cesium.Math.toDegrees(cartographic.longitude).toFixed(2);
      const latitude = Cesium.Math.toDegrees(cartographic.latitude).toFixed(2);
      const height = Math.ceil(viewer.camera.positionCartographic.height);
      console.log({ longitude, latitude, height });
    }
  }, Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.CTRL);
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值