Skip to content

坐标与视角 ​

坐标约定 ​

Coordinate 为 [longitude, latitude, height?]:经度在前、纬度在后,角度单位为度,高度单位为米。 经度范围为 [-180, 180],纬度范围为 [-90, 90],各分量必须是有限数值。 省略高度按零处理,高度语义为 WGS84 椭球高,不等于海拔或离地高度。

SDK 不会自动将 GCJ-02、BD-09 或投影米坐标转换为 WGS84。请在数据进入 SDK 前确认数据来源的坐标系与合法转换方式。 不要把 Web Mercator 米值(例如几百万的 X/Y)直接传入经纬度数组。

对象坐标字段最少点数
点 / DOM 标注position1
线positions2
面positions3
弹窗position1

0.1.0 的面仅表达一个外环,不支持洞、多面或完整 GeoJSON 对象直接输入。 不要把二维数组再嵌套成 GeoJSON 的 polygon rings。三维线、面与地表的具体遮挡关系需要实际数据验证; 本 API 没有可配置的地形服务、贴地模式或高度基准转换选项。

CameraView ​

ts
const view = {
  longitude: 113.88,
  latitude: 22.56,
  height: 20000,
  heading: 0,
  pitch: -60,
  roll: 0,
};
map.setView(view); // 立即设置
map.flyTo({ ...view, height: 8000 }); // 启动飞行动画

longitude、latitude、height 指相机自身的位置,而非镜头朝向的目标点;倾斜观察时,画面中心通常不在该经纬度。 三项必填,视角高度必须大于零。heading、pitch、roll 是度数, 省略时分别为 0、-90、0。pitch: -90 为向下俯视;角度不是弧度。

flyTo(view) 返回 void,不能用 await 判断动画结束。 flyToLayer(layerId) 返回 Promise<boolean>:普通要素图层的 true 表示已发起定位,空图层返回 false,不等待动画结束; 3D Tiles 图层等待模型飞行动画结束,返回完成或取消的结果。模型按完整范围与容器比例取景,无需手写相机经纬度。 多个飞行连续发起时,应由业务控制先后关系。

底图坐标系 ​

输入经纬度与瓦片矩阵是两个概念。XYZ 或 WMTS 的瓦片可能使用 Web Mercator 或经纬度矩阵, 必须按服务实际能力配置,不要靠图像“看起来接近”判断坐标正确。 在已知控制点上同时比较点、线、面与底图,移动和缩放后再次复核。

0.1.0 · Cesium peer >=1.146.0 <1.147.0 · 外部部署验收单独记录