相机模式

Camera 类提供了用于设置不同相机模式的方法。每种模式都提供在导航期间查看地图的不同方式。您可以通过调用以下方法之一来设置相机模式:

followMyLocation()
这是默认的相机导航模式。此模式可将摄像头配置为跟随车辆。在导航期间,相机会自动朝向行进方向。
setLocation()
平移和缩放相机,使其指向特定位置。使用此模式时,您可以设置相机位置、相机朝向的方向和缩放级别。使用此相机模式时,系统会显示 Re-center 按钮。
showRouteOverview()
显示剩余路线的概览,根据需要进行平移和缩放,以使路线适合地图视图。使用此相机模式时,系统会显示 Re-center 按钮。

点击重新居中按钮可将相机模式设置为“跟踪我的位置”。

“跟踪我的位置信息”模式

这是最常用的相机导航模式,在该模式下,相机跟随车辆行驶。在此相机模式下,您可以通过以下方式查看路线:

  • 车辆始终向上看着屏幕,以倾斜的俯视角度 (Camera.Perspective.TILTED) 显示。

  • 地图行驶的车辆始终朝向北方,以直下俯拍 (Camera.Perspective.TOP_DOWN_NORTH_UP) 显示。

  • 车辆始终向上看向屏幕,以直下俯视 (Camera.Perspective.TOP_DOWN_HEADING_UP) 显示。

以下代码示例演示了如何将相机模式设置为跟随我的位置,并使用倾斜的俯视图。

NavFragment.getCamera().followMyLocation(Camera.Perspective.TILTED);

设置位置信息模式

setLocation 模式可让开发者充分利用摄像头。在此模式下,您需要将镜头放置在特定位置,为镜头视图指定方位,并设置镜头的缩放级别。

设置过程包括根据 GPS 坐标定义相机位置,然后打包位置、相机方位和缩放级别:

// Set up a stationary camera
// Pick a location to place the camera: Seattle Space Needle
double cameraLatitude = 47.6101d;
double cameraLongitude = -122.3421d;  // Use negative for W of Greenwich.

// Package the coordinates
com.google.android.libraries.navigation.LatLng cameraCenter;
cameraCenter = new com.google.android.libraries.navigation.LatLng (cameraLatitude, cameraLongitude);

// Prepare the state info for the setLocation method.
com.google.android.libraries.navigation.CameraPosition newCameraPosition;
newCameraPosition = new com.google.android.libraries.navigation.CameraPosition();

newCameraPosition.center(cameraCenter);
newCameraPosition.bearing(-90.00f); // N 0.00; E 90.00; S 180.00; W 270.0 (or -90.0).
newCameraPosition.zoom(14.0f);      // Zooms to street level (approx.)

boolean animate = true;
mNavFragment.getCamera().setLocation(newCameraPosition, animate);

显示路线概览模式

showRouteOverview 相机设置会显示整个历程。对于多目的地行程,此模式会显示路线的未出行部分。

// Place the camera to see the remaining route:
mNavFragment.getCamera().showRouteOverview();

后续步骤

如需了解如何通过确定将哪些内置界面组件显示在地图上,来自定义用户与地图互动的方式,请参阅自定义导航界面