配置相机控件

请选择平台: Android iOS JavaScript

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

说明 3D 相机模型的图

镜头位置

地图视图被建模成一个俯视 3D 空间中特定点的相机。 相机的位置和方向(以及地图的渲染)由下列属性指定:中心(相机所对准的纬度/经度/海拔高度位置)、方向、倾斜角度、距离和滚动角度。

中心(纬度/经度/海拔高度)

中心定义了相机正在观察的 3D 空间中的特定点。 这是使用纬度、经度和海拔值指定的。这样,您就可以在三维空间中精确定位相机的焦点。

纬度可以介于 -90 度(含)和 90 度(含)之间。不在此范围内的值会被调整为此范围内最接近的值。例如,如果将纬度指定为 100,系统会将该值设为 90。经度范围为 -180 度(含)到 180 度(含)。海拔高度以米为单位,表示高于海平面的高度。

标题

相机朝向指定了相机将指向的方向,以相对于正北方的顺时针角度来表示。北对应于 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)