ScreenSpaceCameraController

new SuperMap3D.ScreenSpaceCameraController(scene)

相机方位类。
Name Type Description
scene Scene 场景。

Members

bounceAnimationTime : Number

设置二维和哥伦布视图中回弹动画的持续时间(以秒为单位)。
Default Value: 3.0

enableCollisionDetection : Boolean

启用或禁用相机与地形的碰撞检测。
Default Value: true

enableIndoorColliDetection : Boolean

开启或者关闭相机在室内的碰撞检测。
Default Value: false

enableInputs : Boolean

如果为true,则有条件地允许带有enableTranslate、enableZoom、enableRotate、enableTilt和enableLook标志的输入。如果为false,则禁用所有输入。 注意:此设置用于临时用例,例如相机飞行和区域拖拽选择(参见拾取演示)。 通常在此类事件开始时将其设置为false,并在完成时设置为true。 为了使输入在相机飞行结束后仍然被禁用,您必须使用其他布尔值(enableTranslate、enableZoom、enableRotate、enableTilt和enableLook)。
Default Value: true

enableLook : Boolean

如果为 "true",则允许用户使用自由视角。如果为"false",则只能通过平移或旋转来改变相机的视图方向。此标记仅适用于三维和哥伦布视图模式。
Default Value: true

enableRotate : Boolean

如果为 "true",允许用户旋转相机。如果为false,相机将锁定在当前方位上。此标志仅适用于二维和三维场景。
Default Value: true

enableTilt : Boolean

如果为 "true",允许用户倾斜相机。如果为 "false",相机将锁定在当前方位。
Default Value: true

enableTranslate : Boolean

如果为 "true",则允许用户在地图上平移。如果为false,相机会锁定在当前位置。该标记仅适用于二维和哥伦布视图模式。
Default Value: true

enableZoom : Boolean

如果为 "true",允许用户放大或缩小。如果为false,相机将锁定在椭球体的当前距离。
Default Value: true

inertiaSpin : Number

范围在 [0, 1) 内的参数,用于确定相机因惯性而继续旋转的时间。如果值为0,相机将没有惯性。
Default Value: 0.9

inertiaTranslate : Number

范围在 [0, 1) 内的参数,用于确定相机因惯性而继续平移的时间。如果值为0,相机将没有惯性。
Default Value: 0.9

inertiaZoom : Number

范围在 [0, 1) 内的参数,用于确定相机因惯性而继续变焦的时间。如果值为0,相机将没有惯性。
Default Value: 0.8

lookEventTypes : CameraEventType|Array|undefined

允许用户更改相机观察方向的输入。仅适用于三维和哥伦布视图模式。

类型可以是CameraEventType、未定义、带有事件类型(eventType)和修改器属性(cameraEventType 和KeyboardEventModifier)的对象,也可以是上述任意类型的数组。

Default Value: { eventType : CameraEventType.LEFT_DRAG, modifier : KeyboardEventModifier.SHIFT }

maximumMovementRatio : Number

范围在 [0, 1) 内的参数,用于将各种用户输入的范围限制为每动画帧窗口宽度/高度的百分比。
Default Value: 0.1

maximumZoomDistance : Number

变焦时相机位置的最大幅度(以米为单位)。默认为正无限远。
Default Value: Number.POSITIVE_INFINITY

minimumCollisionTerrainHeight : Number

相机在测试与地形碰撞前的最小高度。
Default Value: 10000.0

minimumDetectDistance : Number

最小碰撞检测距离

minimumPickingTerrainHeight : Number

相机在选取地形而不是椭球体之前必须达到的最低高度。
Default Value: 150000.0

minimumTrackBallHeight : Number

当点击来自天空或太空时,相机从旋转轨道球切换到自由视角前必须达到的最低高度。
Default Value: 7500000.0

minimumWalkingDetectDistance : Number

最小室内碰撞检测距离

minimumZoomDistance : Number

缩放时相机位置的最小幅度(以米为单位)。默认为 1.0。
Default Value: 1.0

rotateEventTypes : CameraEventType|Array|undefined

允许用户围绕地球或其他物体旋转的输入。仅适用于三维和哥伦布视图模式。

类型可能是CameraEventType,undefined,具有eventType和modifier属性的对象,类型为CameraEventType和KeyboardEventModifier,或者是上述任何一种的数组。

Default Value: CameraEventType.LEFT_DRAG

tiltEventTypes : CameraEventType|Array|undefined

可让用户进行三维倾斜、哥伦布视图或二维扭转的输入。

类型为CameraEventType,未定义,一个具有eventType的对象和带有CameraEventType和KeyboardEventModifier类型的修饰符属性,或上述任意一个数组。

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

允许用户在地图上平移的输入。这仅适用于二维和哥伦布视图模式。

类型可能是CameraEventType,undefined,具有eventType和modifier属性的对象,类型为CameraEventType和KeyboardEventModifier,或者是上述任何一种的数组。

Default Value: CameraEventType.LEFT_DRAG

walkParameters : Object

行走模式的参数,包括速度和高度。
Default Value: {speed:1,height:5}

zoomEventTypes : CameraEventType|Array|undefined

允许用户放大/缩小的输入。

类型可能是CameraEventType,undefined,具有eventType和modifier属性的对象,类型为CameraEventType和KeyboardEventModifier,或者是上述任何一种的数组。

Default Value: [CameraEventType.RIGHT_DRAG, CameraEventType.WHEEL, CameraEventType.PINCH]

zoomFactor : Number

获取或设置相机缩放速度,默认值为5.0。

Methods

destroy()undefined

Removes mouse listeners held by this object.

Once an object is destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception. Therefore, assign the return value (undefined) to the object as done in the example.
Returns:
Throws:
  • DeveloperError : This object was destroyed, i.e., destroy() was called.
Example:
controller = controller && controller.destroy();
See:

isDestroyed()Boolean

Returns true if this object was destroyed; otherwise, false.

If this object was destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception.
Returns:
true if this object was destroyed; otherwise, false.
See: