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

镜头位置
地图视图建模为一个看向空间中特定点的相机。相机的位置和方向由纬度/经度/海拔坐标(定义为“中心”,即相机指向的位置)、朝向、倾斜度、范围和滚转角定义。
中心(纬度、经度、海拔)
中心 定义了相机正在观察的 3D 空间中的特定点。这是使用 LatLngAltitude 类指定的,该类组合了纬度、经度和海拔的值。这样可以在三维空间中精确定位相机的焦点。
纬度范围为 -90 度(含)到 90 度(含)。经度范围为 -180 度(含)到 180 度(含)。海拔以米为单位,表示高于海平面的高度。
朝向
朝向 指定了地图的罗盘方向,以相对于正北方的顺时针角度来表示。北方对应于 0 度,东方对应于 90 度,南方对应于 180 度,西方对应于 270 度。
倾斜度
倾斜度 指定了相机相对于垂直轴的角度,以度为单位。倾斜度为 0 度表示相机正对着 地球(天底)向下。倾斜度为 90 度表示相机水平指向 朝向指定的方向。
范围
范围 定义了相机自身位置与地图中心之间的距离(以米为单位)。范围可以从 0 米(非常近)到 6300 万米不等,从而实现从非常近的视角到真正的全球视角的查看。这可以有效地控制地图的“放大”或“缩小”程度。
滚转角
滚转角 设置了相机相对于地平线的角度,以度为单位。此参数可用于创建效果,例如飞行模拟期间的倾斜,甚至是完整的桶滚,即围绕相机的查看轴旋转相机。
控制相机
以下代码示例演示了如何通过调用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
}
)