Advanced Tutorial

Camera

进阶基础20-30 分钟

相机控制决定了用户如何理解三维空间。这个主题看起来简单,但它直接影响应用是否“好用”。

Overview

为什么先学相机

相机是 CesiumJS 所有浏览体验的基础。`flyTo`、`zoomTo`、目标跟随、视角约束,这些能力决定了用户能否顺利从全局进入局部,再回到全局。

Learning Goals

重点掌握

  • 用 `flyTo` 设计全局到局部的镜头过渡。
  • 用 `zoomTo` 快速聚焦实体或数据源。
  • 为轨迹跟随、专题浏览和引导流程建立镜头规则。

Starter Code

常用镜头控制骨架

viewer.camera.flyTo({
  destination: Cartesian3.fromDegrees(116.391, 39.907, 3500),
  orientation: {
    heading: 0,
    pitch: CesiumMath.toRadians(-35),
    roll: 0,
  },
  duration: 2.5,
});

Practice Flow

建议练习顺序

  1. 先试一个固定坐标的 `flyTo`。
  2. 再试对实体对象 `zoomTo`。
  3. 控制过渡时间和俯仰角,观察体验差异。
  4. 加入“返回全局”入口,形成导航闭环。
  5. 最后尝试相机跟随动态对象。

Pitfalls

容易忽略的点

  • 镜头飞得太快,用户会失去方向感。
  • 连续跳转太多目标会破坏空间认知。
  • 相机跟随模式要考虑目标丢失或出视野时的回退逻辑。