经纬志
首页 / Cesium / 使用示例

setView 定点观察

三个预设位姿覆盖全球、城市、贴近地平线三种尺度,另有一个按钮用 lookAt 反推相机位置,面板实时显示高度与航向。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

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 的 range900 改成 2600相机离目标更远
lookAt 的 heading35° 改成 200°从另一侧观察目标
贴近视角的高度60 改成 500地平线位置下移

贴近地平线时会看到球体边缘。相机高度只有几十米、俯仰接近 0° 时, 视线很快切过地表。这不是渲染错误,把俯仰调成负值就会重新看到地面。