cesium 根据canvas可视区域中心视点旋转角度

方法一:

let width = window.viewer.canvas.clientWidth / 2;
let height = window.viewer.canvas.clientHeight / 2;
let destination = viewer.scene.globe.pick(
          viewer.camera.getPickRay(new Cesium.Cartesian2(width, height)),
          viewer.scene
 );
  viewer.scene.camera.flyTo({
          destination: destination,
          orientation: {
            heading: viewer.camera.heading,
            pitch: Cesium.Math.toRadians(-90),
            roll: viewer.camera.roll,
          },
        });

方法二:

function rotateAngle(angle = -30) {
  let position = viewer.camera.position;
  let cartographic = Cesium.Cartographic.fromCartesian(position);
  let heading = viewer.camera.heading;
  let height = cartographic.height;
  let pitch = Cesium.Math.toRadians(angle);

  let width = window.viewer.canvas.clientWidth / 2;
  let cheight = window.viewer.canvas.clientHeight / 2;

  let destination = viewer.scene.globe.pick(
    viewer.camera.getPickRay(new Cesium.Cartesian2(width, cheight)),
    viewer.scene
  );
  viewer.camera.flyToBoundingSphere(new Cesium.BoundingSphere(destination), {
    offset: new Cesium.HeadingPitchRange(heading, pitch,  height),
    duration: 2,
  });
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值