首页 / Cesium / 使用示例
setView 定点观察
三个预设位姿覆盖全球、城市、贴近地平线三种尺度,另有一个按钮用
lookAt 反推相机位置,面板实时显示高度与航向。
源码与运行效果
setView 给的是结果
camera.setView({destination, orientation}) 一次性把相机放到指定位置。
destination 可以是经纬高,orientation 里
航向与俯仰都按弧度给。它没有过渡动画,调用后立即生效。
全球视角用俯仰 -90° 垂直向下看,贴近视角用接近 0° 的俯仰, 相机几乎水平,于是看到地平线与球面弧度。
lookAt 给的是关系
camera.lookAt(target, new HeadingPitchRange(h, p, range))
描述的是「从目标点出发,朝某个方向退开多远」。Cesium 会据此算出相机
应该在球外哪个位置,不需要手动换算高度。
调用 lookAtTransform(Cesium.Matrix4.IDENTITY) 可以解除这种
锁定关系,否则后续的相机操作都在目标点的局部坐标系里进行。
可调参数
| 位置 | 改什么 | 效果 |
|---|---|---|
POSES 数组 | 改经纬高与俯仰 | 三个预设视角 |
lookAt 的 range | 900 改成 2600 | 相机离目标更远 |
lookAt 的 heading | 35° 改成 200° | 从另一侧观察目标 |
| 贴近视角的高度 | 60 改成 500 | 地平线位置下移 |
贴近地平线时会看到球体边缘。相机高度只有几十米、俯仰接近 0° 时, 视线很快切过地表。这不是渲染错误,把俯仰调成负值就会重新看到地面。