cesium如何飞到指定层级

cesium如何飞到指定层级

下方代码是cesium中视角高度转层级的代码

export function heightToZoom(altitude: number): number {
  const A = 40487.57;
  const B = 0.00007096758;
  const C = 91610.74;
  const D = -40467.74;
  return Math.round(D + (A - D) / (1 + Math.pow(altitude / C, B)));
}

那么飞到指定层级首先获取当前相机位置 拿到经纬度。
之后反转上方的代码 根据层级获取视角高度

function getAltitudeByLevel(level: any) {
  const A = 40487.57;
  const B = 0.00007096758;
  const C = 91610.74;
  const D = -40467.74;
  const E = A - D;
  // 计算 altitude
  const altitude = C * Math.pow(E / (level - D) - 1, 1 / B);
  return Math.round(altitude);
}
getAltitudeByLevel(16) //  6356.0

根据获取的高度 调用flyTo方法

viewer.camera.flyTo({
  destination: Cesium.Cartesian3.fromDegrees(
    116.397128,
    39.916527,
    getAltitudeByLevel(16)
  )
});
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值