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

多点位相机巡航

五个机位轮流飞,每段四秒,飞完自动接下一段并循环。 面板显示当前是第几站,暂停后可以从当前站继续。

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

用回调串起航段

camera.flyTo 的 complete 在飞行结束时触发, 在回调里调用下一段的 flyTo 就形成了链条。 每段给 duration: 4,最后一段飞完回到第一段。

飞行路径由 Cesium 自己插值,高度与朝向一起过渡, 比逐帧改相机省事,也不会出现跨球面的奇怪轨迹。

令牌解决重复触发

点击暂停会调用 cancelFlight,它同样可能触发 complete。如果回调里不设防,取消一次就会多排一段飞行。 示例在每段开始时把 token 自增,回调里比对令牌, 不是本段发起的就立即返回。

可调参数

位置改什么效果
ROUTE 数组改经纬高与角度巡航机位
duration4 改成 8每段飞行更慢
BLOCKS增减方块画面里的参照物数量
暂停 / 从第一站重来交互验证巡航状态控制

相邻机位差太大时会绕远路。两站之间如果朝向差异接近 180°, 相机可能绕球面飞一大圈。把过渡机位补在中间, 或者改用 setView 直接跳转再淡入,观感更稳。