麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - ScreenSpaceCameraController 中文文档

本文介绍下Cesium中 ScreenSpaceCameraController API的详细使用说明。

ScreenSpaceCameraController API 调用方法

new Cesium.ScreenSpaceCameraController(scene)
根据鼠标在画布上的输入修改相机的位置和方向。(相机操作器)
Name Type Description
scene Scene 场景。

成员变量

bounceAnimationTime : Number
设置2D和2.5D视图中的回弹动画的持续时间(以秒为单位)。
Default Value: 3.0
enableCollisionDetection : Boolean
启用或禁用相机与地形进行碰撞检测。
Default Value: true
如果为true,则通过enableTranslate、enableZoom、enableRotate、enableTilt和enableLook标志有条件地允许输入。 如果为false,则禁用所有输入。 注意:此设置用于临时用例,如相机飞行和区域的拖动选择(请参见选择演示)。它通常在此类事件开始时设置为false,完成时设置为true。 要在相机飞行结束后禁用输入,必须使用其他布尔值(enableTranslate、enableZoom、enableRotate、enableTilt和enableLook)。
Default Value: true
如果为true,则允许相机绕自身坐标轴进行旋转。(仅适用于3D和2.5D模式)
Default Value: true
如果为true,允许相机绕坐标中心旋转。(仅适用于2D和3D)
Default Value: true
如果为true,则允许用户倾斜相机。(仅适用于3D和2.5D模式)
Default Value: true
enableTranslate : Boolean
如果为true,允许用户平移地图,如果为false,相机保持锁定在当前位置。(此标志只适用于2D或者2.5D模式)
Default Value: true
如果为true,允许用户进行缩放,如果为false,相机锁定在当前距离椭球的距离(不允许缩放)。
Default Value: true
范围[0,1]的参数,用于确定相机由于惯性将持续旋转多长时间。 值为0时,相机将没有惯性。
Default Value: 0.9
inertiaTranslate : Number
范围[0,1]的一个参数,用于确定相机由于惯性将持续平移多长时间。 值为0时,相机将没有惯性。
Default Value: 0.9
范围[0,1]的一个参数,用于确定相机由于惯性将持续缩放多长时间。 值为0时,相机将没有惯性。
Default Value: 0.8
允许用户改变相机观看方向的输入。这只适用于3D和2.5D模式。

类型是CameraEventTypeundefined,具有eventTypemodifier属性的对象, 类型为CameraEventTypeKeyboardEventModifier,或以上任何一个数组。

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: 15000.0
minimumPickingTerrainHeight : Number
在选择地形而不是椭球面之前,相机必须达到的最小高度。
Default Value: 150000.0
minimumTrackBallHeight : Number
在从旋转轨迹球切换到自由观看之前,相机必须达到的最小高度。
Default Value: 7500000.0
minimumZoomDistance : Number
缩放时相机位置的最小距离(以秒为单位)。默认为1.0。
Default Value: 1.0
rotateEventTypes : CameraEventType|Array|undefined
允许用户绕地球或其他对象旋转的输入。这仅适用于3D和2.5D视图模式。

类型是CameraEventTypeundefined,具有eventTypemodifier属性的对象, 类型为CameraEventTypeKeyboardEventModifier,或以上任何一个数组。

Default Value: CameraEventType.LEFT_DRAG
允许用户在3D和2.5D模式下倾斜,或者在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 }]
translateEventTypes : CameraEventType|Array|undefined
允许用户在地图上平移的输入。这仅适用于2D和Columbus视图模式。

类型是CameraEventTypeundefined,具有eventTypemodifier属性的对象, 类型为CameraEventTypeKeyboardEventModifier,或以上任何一个数组。

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

类型是CameraEventTypeundefined,具有eventTypemodifier属性的对象, 类型为CameraEventTypeKeyboardEventModifier,或以上任何一个数组。

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

内置方法

销毁此对象持有的WebGL资源。

一旦对象被销毁,它将不能在使用; 调用除isDestroyed之外的任何函数都会导致DeveloperError异常。 因此,将返回值(undefined)赋给对象,如示例所示。
异常情况:
示例:
controller = controller && controller.destroy();
参考:
如果该对象没被销毁,返回false。

如果该对象已经被销毁, 使用isDestroyed 会触发 DeveloperError 异常。
参考:

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)