配置相机控件

请选择平台Android iOS JavaScript

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

说明 3D 相机模型的图

镜头位置

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

纬度、经度、海拔

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

纬度可以介于 -90 度(含)和 90 度(含)之间。经度范围为 -180 度(含)到 180 度(含)。海拔以米为单位,表示高于海平面的高度。

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

朝向

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

倾斜度

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

范围

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

滚转角

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

控制相机

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

Swift


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