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();
后续步骤
如需了解如何通过确定将哪些内置界面组件显示在地图上,来自定义用户与地图互动的方式,请参阅自定义导航界面。