cesium锁定经纬度聚焦展示
时间: 2025-04-27 13:57:45 浏览: 22
### 设置相机以锁定并聚焦指定经纬度
为了在 Cesium 中设置相机制定特定的经纬度位置并保持焦点,在不改变视野中心的情况下允许用户调整视角方向和缩放,可以采用 `lookAt` 方法[^3]。
此方法能够将摄像机的视野中心固定到目标点上。具体来说:
- 用户仍然可以通过鼠标操作来旋转视角方向以及缩放地图视图。
- 关键在于调用 `viewer.camera.lookAt` 函数,并传入表示目标地点笛卡尔坐标系下的三维向量 (`Cartesian3`) 和描述相机姿态的角度参数对象 (`HeadingPitchRange`)。
下面是一个具体的例子,展示如何利用这些特性创建一个函数用于定位至给定地理坐标处:
```javascript
function lockCameraOnPosition(longitude, latitude, altitude) {
const target = Cesium.Cartesian3.fromDegrees(longitude, latitude, altitude);
// 定义相机相对于目标点的姿态:方位角、俯仰角及距离
const orientation = new Cesium.HeadingPitchRange(
Cesium.Math.toRadians(0), // heading (朝向东)
Cesium.Math.toRadians(-45), // pitch (向下倾斜)
1000 // 距离目标点的高度,默认单位米
);
viewer.camera.lookAt(target, orientation);
}
```
上述代码片段定义了一个名为 `lockCameraOnPosition` 的 JavaScript 函数,它接收三个参数——经度(`longitude`)、纬度(`latitude`) 及海拔高度(`altitude`)—用来确定要聚焦的目标地理位置。通过转换成笛卡尔坐标系中的三维向量形式作为第一个参数传递给 `camera.lookAt()` 方法;第二个参数则指定了相机相对该点的姿态配置。
阅读全文
相关推荐


















