Appearance
坐标与视角
坐标约定
Coordinate 为 [longitude, latitude, height?]:经度在前、纬度在后,角度单位为度,高度单位为米。 经度范围为 [-180, 180],纬度范围为 [-90, 90],各分量必须是有限数值。 省略高度按零处理,高度语义为 WGS84 椭球高,不等于海拔或离地高度。
SDK 不会自动将 GCJ-02、BD-09 或投影米坐标转换为 WGS84。请在数据进入 SDK 前确认数据来源的坐标系与合法转换方式。 不要把 Web Mercator 米值(例如几百万的 X/Y)直接传入经纬度数组。
| 对象 | 坐标字段 | 最少点数 |
|---|---|---|
| 点 / DOM 标注 | position | 1 |
| 线 | positions | 2 |
| 面 | positions | 3 |
| 弹窗 | position | 1 |
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 或经纬度矩阵, 必须按服务实际能力配置,不要靠图像“看起来接近”判断坐标正确。 在已知控制点上同时比较点、线、面与底图,移动和缩放后再次复核。