根据对 canvas 的鼠标输入来修改相机的位置和方向。
| Name | Type | Description |
|---|---|---|
scene |
Scene | 场景。 |
Members
设置 2D 和 Columbus 视图中回弹动画的持续时间(秒)。
-
Default Value:
3.0
当禁用时,
maximumZoomDistance 和 minimumZoomDistance 的值将被忽略。
还与 Cesium3DTileset#enableCollision 配合使用,以防止相机穿过或位于 3D Tileset 表面下方。
这还可能影响在 3D Tiles 上使用 HeightReference.CLAMP_TO_GROUND 时的钳制行为。
-
Default Value:
true
如果为 true,则允许根据 enableTranslate、enableZoom、
enableRotate、enableTilt 和 enableLook 等标志有条件地接受输入。如果为 false,则禁用所有输入。
注意:此设置用于临时场景,例如相机飞行和
区域拖拽选择(参见 Picking 演示)。通常在这类事件开始时设为 false,
并在完成时设为 true。要在相机飞行结束后仍保持输入禁用,
必须使用其他布尔值(enableTranslate、
enableZoom、enableRotate、enableTilt 和 enableLook)。
-
Default Value:
true
如果为 true,允许用户使用自由查看。如果为 false,则只能通过平移
或旋转来改变相机视角方向。此标志仅适用于 3D 和 Columbus 视图模式。
-
Default Value:
true
如果为 true,允许用户旋转世界,这会平移用户的位置。
此标志仅适用于 2D 和 3D。
-
Default Value:
true
如果为 true,允许用户倾斜相机。如果为 false,相机锁定为当前朝向。
此标志仅适用于 3D 和 Columbus 视图。
-
Default Value:
true
如果为 true,允许用户在地图上平移。如果为 false,相机锁定在当前位置。
此标志仅适用于 2D 和 Columbus 视图模式。
-
Default Value:
true
如果为 true,允许用户放大和缩小。如果为 false,相机锁定为距椭球体的当前距离。
-
Default Value:
true
范围
[0, 1) 内的一个参数,用于确定相机
由于惯性会继续旋转多长时间。
值为零时,相机将没有惯性。
-
Default Value:
0.9
范围
[0, 1) 内的一个参数,用于确定相机
由于惯性会继续平移多长时间。
值为零时,相机将没有惯性。
-
Default Value:
0.9
范围
[0, 1) 内的一个参数,用于确定相机
由于惯性会继续缩放多长时间。
值为零时,相机将没有惯性。
-
Default Value:
0.8
lookEventTypes : CameraEventType|Array|undefined
允许用户输入以改变相机查看方向的输入。这仅适用于 3D 和 Columbus 视图模式。
类型可以是 CameraEventType、undefined、包含类型为 CameraEventType 和 KeyboardEventModifier 的
eventType 和 modifier 属性的对象,
或上述任意类型的数组。
-
Default Value:
{ eventType : CameraEventType.LEFT_DRAG, modifier : KeyboardEventModifier.SHIFT }
范围
[0, 1) 内的一个参数,用于将
各种用户输入的范围限制为每个动画帧窗口宽度/高度的某个百分比。
这有助于在低帧率情况下保持相机受控。
-
Default Value:
0.1
相对于椭球体法线的角度,限制用户可以倾斜相机的最大幅度。如果为
undefined,则相机倾斜角度不受限制。
-
Default Value:
undefined
Example:
// Prevent the camera from tilting below the ellipsoid surface
viewer.scene.screenSpaceCameraController.maximumTiltAngle = Math.PI / 2.0;
缩放时相机位置的最大幅值(米)。默认为正无穷大。
-
Default Value:
Number.POSITIVE_INFINITY
在进行与地形的碰撞检测之前,相机必须达到的最小高度。当使用 WGS84 之外的其他椭球体时,默认为 scene.ellipsoid.minimumRadius * 0.0025。
-
Default Value:
15000.0 or scene.ellipsoid.minimumRadius * 0.0025.
当使用惯性缩放时,在进行与地形的碰撞检测之前相机必须达到的最小距离。当使用 WGS84 之外的其他椭球体时,默认为 scene.ellipsoid.minimumRadius * 0.00063。
-
Default Value:
4000.0 or scene.ellipsoid.minimumRadius * 0.00063
在拾取地形或场景内容而非椭球体之前,相机必须达到的最小高度。当使用 WGS84 之外的其他椭球体时,默认为 scene.ellipsoid.minimumRadius * 0.025。
-
Default Value:
150000.0 or scene.ellipsoid.minimumRadius * 0.025
当点击源自已天空或空间时,在从旋转轨迹球切换到
自由查看之前相机必须达到的最小高度。当使用 WGS84 之外的其他椭球体时,默认为 ellipsoid.minimumRadius * 1.175。
-
Default Value:
7500000.0 or scene.ellipsoid.minimumRadius * 1.175
缩放时相机位置的最小幅值(米)。默认为 1.0。
-
Default Value:
1.0
rotateEventTypes : CameraEventType|Array|undefined
允许用户输入以围绕地球或另一个对象旋转的输入。这仅适用于 3D 和 Columbus 视图模式。
类型可以是 CameraEventType、undefined、包含类型为 CameraEventType 和 KeyboardEventModifier 的
eventType 和 modifier 属性的对象,
或上述任意类型的数组。
-
Default Value:
CameraEventType.LEFT_DRAG
tiltEventTypes : CameraEventType|Array|undefined
允许用户输入以在 3D 和 Columbus 视图中倾斜或在 2D 中扭转的输入。
类型可以是 CameraEventType、undefined、包含类型为 CameraEventType 和 KeyboardEventModifier 的
eventType 和 modifier 属性的对象,
或上述任意类型的数组。
-
Default Value:
[CameraEventType.MIDDLE_DRAG, CameraEventType.PINCH, {
eventType : CameraEventType.LEFT_DRAG,
modifier : KeyboardEventModifier.CTRL
}, {
eventType : CameraEventType.RIGHT_DRAG,
modifier : KeyboardEventModifier.CTRL
}]
translateEventTypes : CameraEventType|Array|undefined
允许用户输入以在地图上平移的输入。这仅适用于 2D 和 Columbus 视图模式。
类型可以是 CameraEventType、undefined、包含类型为 CameraEventType 和 KeyboardEventModifier 的
eventType 和 modifier 属性的对象,
或上述任意类型的数组。
-
Default Value:
CameraEventType.LEFT_DRAG
zoomEventTypes : CameraEventType|Array|undefined
允许用户输入以放大/缩小的输入。
类型可以是 CameraEventType、undefined、包含类型为 CameraEventType 和 KeyboardEventModifier 的
eventType 和 modifier 属性的对象,
或上述任意类型的数组。
-
Default Value:
[CameraEventType.RIGHT_DRAG, CameraEventType.WHEEL, CameraEventType.PINCH]
相机缩放速度的倍数。
-
Default Value:
5.0
Methods
移除该对象持有的鼠标监听器。
对象一旦被销毁,就不应再使用;调用
对象一旦被销毁,就不应再使用;调用
isDestroyed 之外的任何函数
都会抛出 DeveloperError 异常。因此,
应像示例中那样将返回值(undefined)赋给该对象。
Throws:
-
DeveloperError :该对象已被销毁,即已调用 destroy()。
Example:
controller = controller && controller.destroy();
See:
Returns:
true 如果此对象已被销毁;否则为 false。
