用途:在 CesiumJS 三维地球上构建多站点飞越演示、虚拟导览、地点展示或电影化镜头序列。核心思路是把导览视为一系列相机运动,每个站点可附带标注。
主要能力:协调 Camera、Entity、Clock、Geolocation 等 MCP 服务。Camera 负责 camera_fly_to、camera_start_orbit、camera_stop_orbit、set_view;Entity 负责 entity_add_label、add_billboard、add_point、entity_remove;Clock 设置时间与光照;Geolocation 用 geolocation_search 解析地名坐标。
关键用法:标注放在真实位置坐标,相机飞往偏移后的观察点,切勿直接飞到标注坐标,否则相机会落在标注上方。观察点需按地物类型设置偏移、高度与俯仰:城市地标偏移 0.01–0.05°、高度 500–2000m、俯仰 -20° 至 -40°;区域偏移 0.1–0.5°、高度 5000–20000m;建筑/POI 偏移 0.005–0.01°、高度 200–800m。位置格式为 { longitude, latitude, height },经度在前,高度单位米;颜色用 { red, green, blue, alpha },取值 0–1。相机缓动可选 QUADRATIC_IN_OUT、CUBIC_IN、SINUSOIDAL_OUT、LINEAR_NONE。时长按距离:同城 2–3 秒,区域约 100km 用 4–5 秒,洲际 6–8 秒,全球 10 秒以上。轨道速度常用 0.002–0.01 rad/s。
限制与注意:camera_start_orbit 会保留当前相机状态,除非用户明确要求改变视角,否则不要在轨道前调用 camera_look_at_transform;移动下一站前应停止轨道;结束需用 entity_remove 清理实体;需提前确定所有站点坐标并测试飞行时长。不适用于单点飞行、沿路线动画实体或基于时间的回放。