配置相机控件

请选择平台: Android iOS JavaScript

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

说明 3D 相机模型的图

镜头位置

地图视图被建模为一个看向空间中特定点的相机。相机的位置和方向由纬度/经度/海拔坐标(定义为“中心”,即相机所指的位置)、航向、倾斜角度、范围和滚转角度定义。

中心(纬度、经度、海拔)

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

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

标题

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

倾斜

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

Range

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

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

控制相机

以下代码示例演示了如何通过调用 setCamera 方法以编程方式控制相机。 如需使用此代码示例,请按照设置向应用添加 3D 地图中的说明,设置包含基本 3D 地图的 Android Studio 项目。然后,将以下代码添加到 MainActivity.kt 文件中:


// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 38.743502
            longitude = -109.499374
            altitude = 1467.0
        }
        heading = 350.0
        tilt = 58.1
        range = 138.2
        roll = 0.0
    }
)