我们可以通过cesium相机的orientation和destination来控制相机的位置以及相机的朝向俯仰角以及相机的滚转角。
指定cesium地图显示的位置
// 生成position北京天安门位置
var cartesian3 = Cesium.Cartesian3.fromDegrees(
// 经度
116.397428,
// 纬度
39.90923,
// 高度
100
)
viewer.camera.setView({
// 指定相机的位置
destination: cartesian3,
})
控制相机的朝向
viewer.camera.setView({
// 指定相机的位置
destination: cartesian3,
orientation: {
// 指定相机的朝向
heading: Cesium.Math.toRadians(0),
// 控制相机的俯仰角
pitch: Cesium.Math.toRadians(-90),
// 指定相机的滚转角
roll: 0
}
})
-
viewer.camera.setView({ ... }): 这是设置Cesium相机视图的方法。传递给此方法的对象定义了相机应如何查看场景。
-
destination: cartesian3: 这里指定了相机的目的地位置。
cartesian3
应该是一个Cesium.Cartesian3
对象,它包含x、y和z坐标来定义空间中的一个点。 -
orientation: 这个属性用于设置相机的方向,具体包括以下三个子属性:
- heading: 控制相机的朝向。表示围绕地球的Z轴的旋转,用弧度来表示。例如,
Cesium.Math.toRadians(0)
将相机的朝向设置为北。 - pitch: 控制相机的俯仰角。表示相机的垂直旋转,用弧度来表示。例如,
Cesium.Math.toRadians(-90)
将相机朝向直接向下,就像从太空看地球一样。 - roll: 控制相机的滚转角。表示围绕相机视线的旋转,用弧度表示。这里的0意味着不进行任何滚转。
- heading: 控制相机的朝向。表示围绕地球的Z轴的旋转,用弧度来表示。例如,
将相机位置设置为cartesian3
,然后使其直接向下看(由于pitch为-90°),朝向北(由于heading为0°),并且没有任何滚转(roll为0)。
当前内容为观看threejs视频课程 Three.js可视化企业实战WEBGL课 课程-相机的方向和位置-学习笔记