配置相机控件

请选择平台: Android iOS JavaScript

用户可以使用地图上的手势来控制相机的缩放、倾斜、位置和旋转。 您还可以通过程序化方式配置摄像头。

说明 3D 相机模型的图

镜头位置

地图视图被建模为一个看向空间中特定点的相机。相机的位置和方向由纬度/经度/海拔坐标、航向、倾斜角度、距离和横滚角度定义。

纬度、经度、海拔

通过设置纬度、经度和海拔高度来定义相机的初始位置。这些值共同决定了相机的位置,而不是相机所对准或居中的位置。

纬度可以介于 -90 度(含)和 90 度(含)之间。经度范围为 -180 度(含)到 180 度(含)。海拔高度以米为单位指定。

不在此范围内的值会被调整为此范围内最接近的值。例如,如果将纬度指定为 100,系统会将该值设为 90。

标题

方向角指定了地图的罗盘方向,以相对于正北方(按顺时针方向)的角度来表示。北对应于 0 度,东对应于 90 度,南对应于 180 度,西对应于 270 度。

倾斜

倾斜度是指相机相对于垂直轴的角度,以度为单位。0 度的倾斜度表示相机正对地球(天底)。倾斜度为 90 度表示相机水平指向航向所指定的方向。

Range

范围定义了相机自身位置与地图中心之间的距离(以米为单位)。范围可以从 0 米(非常近的特写)到 6, 300 万米不等,从而实现从非常近的特写到真正全球视角的观看效果。这实际上控制着地图的“放大”或“缩小”程度。

滚转角用于设置相机相对于地平线的角度,以度为单位。此参数可用于创建飞行模拟期间的倾斜等效果,甚至可以围绕其观看轴旋转相机,实现完整的桶滚。

控制相机

以下代码示例演示了如何以编程方式控制相机。

Swift


public static var sanFrancisco: Camera = .init(
  latitude: 37.7845812,
  longitude: -122.3660241,
  altitude: 585,
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)