Classes
Members
是否正在飞行
readonlyimmersion : Camera.Immersion
沉浸式管理
readonlyinteraction : Camera.Interaction
交互类
readonlynavigator : Camera.Navigator
指北针管理
位置 [经度,纬度,高度]
-
Default Value:
[0, 0, 0]
姿态 [偏航角,俯仰角,翻转角]
-
Default Value:
[0, 0, 0]
readonlyviewport : Camera.Viewport
视口管理
Methods
相机环绕飞行
Name | Type | Default | Description |
---|---|---|---|
position |
Array.<number> | 目标位置, 形式如:[经度, 纬度, 高度] 其中经纬度的单位是弧度,高度的单位是米。 | |
viewDistance |
number | optional 环绕距离,默认为当前相机到目标点距离, 单位是米。 | |
rotation |
Array.<number> | optional 相机飞入后的姿态控制,从什么角度观察目标,形式如: [偏航角, 俯仰角, 翻转角], 单位是弧度。 | |
flyToDuration |
number |
3
|
optional 环绕飞行之前飞向目标代理的时间,如果是0,则直接跳转,默认为3秒 |
aroundSpeed |
number | optional 环绕速度,单位是弧度/秒 |
相机飞入
Name | Type | Description |
---|---|---|
position |
Array.<number> | 目标位置, 形式如:[经度, 纬度, 高度] 其中经纬度的单位是弧度,高度的单位是米。 |
viewDistance |
number | optional 距离目标多远距离时停下,默认为0,即直接飞到目标点处,单位是米。 |
rotation |
Array.<number> | optional 相机飞入后的姿态控制,从什么角度观察目标,形式如: [偏航角, 俯仰角, 翻转角], 单位是弧度。 |
duration |
number | optional 飞行持续时间,如果是0,则直接跳转,单位是秒。 |
Example:
// 示例1
// 相机直接飞入北京(116.39, 39.9)的位置,高度100米。相机位于目标点上。
earth.camera.flyTo([116.39*Math.PI/180, 39.9*Math.PI/180, 100])
// 示例2
// 相机直接飞向北京(116.39, 39.9)的位置,高度100米的目标,再距离目标点1000米的距离停下来,此时目标点刚好位置屏幕中心位置。
earth.camera.flyTo([116.39*Math.PI/180, 39.9*Math.PI/180, 100], 1000);
// 示例3
// 相机直接飞向北京(116.39, 39.9)的位置,高度100米的目标,再距离目标点1000米的距离停下来,此时目标点刚好位置屏幕中心位置。
// 同时相机的方向是正东向,向下倾斜30度。
// 相机方向是这样的 朝北是0度,朝东是90度,朝南是180度,朝西是270度。抬头看天的俯仰角是90度,俯视地面是-90度。
earth.camera.flyTo([116.39*Math.PI/180, 39.9*Math.PI/180, 100], 1000, [90*Math.PI/180, -30*Math.PI/180, 0]);
// 特别说明:
// 注意示例中使用度数是方便理解,实际使用时,需要转换成弧度(乘上Math.PI/180)
// 为了和Cesium保持一致(Cartographic,Cartesian),EarthSDK里面凡是涉及到角度的单位一律用弧度,凡是使用长度的单位一律用米。
// 实际上计算机地层中关于角度的计算都是使用弧度的,比如JS中的Math.cos/Math.sin等所有的角度计算操作。