ScreenSpaceCameraController

new Cesium.ScreenSpaceCameraController(scene)

根据画布的鼠标输入修改相机的位置和方向。
Name Type Description
scene Scene 场景对象。

Members

设置 2D 和 Columbus 视图中回弹动画的持续时间(以秒为单位)。
Default Value: 3.0

enableCollisionDetection : boolean

禁用时,将忽略 maximumZoomDistanceminimumZoomDistance 的值。 还与 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
允许用户改变相机查看方向的输入。仅适用于 3D 和 Columbus 视图模式。

类型可以是 CameraEventTypeundefined、具有 eventTypemodifier 属性的对象(其类型为 CameraEventTypeKeyboardEventModifier), 或上述任意类型的数组。

Default Value: { eventType : CameraEventType.LEFT_DRAG, modifier : KeyboardEventModifier.SHIFT }
一个范围在 [0, 1) 的参数,用于将各种用户输入的范围限制为每动画帧窗口宽度/高度的百分比。 这有助于在低帧率情况下保持相机受控。
Default Value: 0.1

maximumTiltAngle : number|undefined

相对于椭球体法线的角度,限制用户可倾斜相机的最大角度。如果为 undefined,则相机倾斜角度不受限制。
Default Value: undefined
Example:
// 防止相机倾斜到椭球体表面以下
viewer.scene.screenSpaceCameraController.maximumTiltAngle = Math.PI / 2.0;
缩放时相机位置的最大幅度(以米为单位)。默认为正无穷。
Default Value: Number.POSITIVE_INFINITY

minimumCollisionTerrainHeight : number

相机在测试与地形碰撞之前必须达到的最小高度。当使用 WGS84 以外的椭球体时,默认为 scene.ellipsoid.minimumRadius * 0.0025。
Default Value: 15000.0 或 scene.ellipsoid.minimumRadius * 0.0025。

minimumPickingTerrainDistanceWithInertia : number

使用惯性缩放时,相机在测试与地形碰撞之前必须保持的最小距离。当使用 WGS84 以外的椭球体时,默认为 scene.ellipsoid.minimumRadius * 0.00063。
Default Value: 4000.0 或 scene.ellipsoid.minimumRadius * 0.00063

minimumPickingTerrainHeight : number

相机在拾取地形或场景内容而非椭球体之前必须达到的最小高度。当使用 WGS84 以外的椭球体时,默认为 scene.ellipsoid.minimumRadius * 0.025。
Default Value: 150000.0 或 scene.ellipsoid.minimumRadius * 0.025
当点击发生在天空或空间中时,相机在从旋转追踪球切换到自由查看之前必须达到的最小高度。当使用 WGS84 以外的椭球体时,默认为 ellipsoid.minimumRadius * 1.175。
Default Value: 7500000.0 或 scene.ellipsoid.minimumRadius * 1.175
缩放时相机位置的最小幅度(以米为单位)。默认为 1.0。
Default Value: 1.0
允许用户在 3D 和 Columbus 视图模式下围绕地球或其他对象旋转的输入。

类型可以是 CameraEventTypeundefined、具有 eventTypemodifier 属性的对象(其类型为 CameraEventTypeKeyboardEventModifier), 或上述任意类型的数组。

Default Value: CameraEventType.LEFT_DRAG
允许用户在 3D 和 Columbus 视图中倾斜相机,或在 2D 中扭转相机的输入。

类型可以是 CameraEventTypeundefined、具有 eventTypemodifier 属性的对象(其类型为 CameraEventTypeKeyboardEventModifier), 或上述任意类型的数组。

Default Value: [CameraEventType.MIDDLE_DRAG, CameraEventType.PINCH, { eventType : CameraEventType.LEFT_DRAG, modifier : KeyboardEventModifier.CTRL }, { eventType : CameraEventType.RIGHT_DRAG, modifier : KeyboardEventModifier.CTRL }]
允许用户在地图上平移的输入。仅适用于 2D 和 Columbus 视图模式。

类型可以是 CameraEventTypeundefined、具有 eventTypemodifier 属性的对象(其类型为 CameraEventTypeKeyboardEventModifier), 或上述任意类型的数组。

Default Value: CameraEventType.LEFT_DRAG
允许用户缩放的输入。

类型可以是 CameraEventTypeundefined、具有 eventTypemodifier 属性的对象(其类型为 CameraEventTypeKeyboardEventModifier), 或上述任意类型的数组。

Default Value: [CameraEventType.RIGHT_DRAG, CameraEventType.WHEEL, CameraEventType.PINCH]
相机缩放速度的倍数。
Default Value: 5.0

Methods

移除此对象持有的鼠标监听器。

对象一旦被销毁,就不应再使用;调用 isDestroyed 以外的任何函数将导致 DeveloperError 异常。因此, 应像示例中那样将返回值(undefined)赋给该对象。
Throws:
Example:
controller = controller && controller.destroy();
See:
如果此对象已被销毁,则返回 true;否则返回 false。

如果此对象已被销毁,则不应使用它;调用 isDestroyed 以外的任何函数将导致 DeveloperError 异常。
Returns:
如果此对象已被销毁则返回 true;否则返回 false
See:
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.