配置相机控件

请选择平台: Android iOS JavaScript

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

说明 3D 相机模型的图

镜头位置

地图视图被建模成一个俯视 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
    }
)