Настройте камеру

Камера позволяет изменять пользовательскую точку обзора карты. Вы можете использовать режимы камеры, чтобы управлять поведением карты во время навигации. Чтобы задать режим камеры, вызовите один из следующих методов, связанных с камерой:

  • "Следить за моим местоположением" (GoogleMap.followMyLocation) – режим камеры по умолчанию для навигации. В этом режиме камера устанавливается на устройство или транспортное средство. Во время навигации камера автоматически направлена в сторону движения.

  • Закреплено за местоположением (GoogleMap.animateCamera и GoogleMap.moveCamera) – камера фиксируется в определенном месте. В этом режиме можно задать положение камеры и другие ее свойства, такие как азимут, наклон и масштаб. Если выбран этот режим и навигатор инициализирован, то будет видна кнопка Центрировать.

  • "Показать обзор маршрута" (NavigationView.showRouteOverview или NavigationFragment.showRouteOverview) – показывает обзор оставшейся части маршрута (до следующих 45 минут езды), панорамируя и масштабируя по мере необходимости, чтобы маршрут поместился на карте. В этом режиме доступна кнопка Центрировать.

Нажатие кнопки Центрировать переводит камеру в режим followMyLocation.

Режим "Следить за моим местоположением"

Чаще всего камера настраивается на устройство или транспортное средство, показывая его текущее положение на маршруте. В этом режиме камеры вы можете просматривать маршрут, на котором автомобиль всегда движется вверх по экрану с угловой перспективой (CameraPerspective.TILTED), или вы можете видеть автомобиль, движущийся на север (CameraPerspective.TOP_DOWN_NORTH_UP) или с курсом (CameraPerspective.TOP_DOWN_HEADING_UP) всегда в верхней части экрана.

В следующем фрагменте кода используется перспектива TILTED:

// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))

Режим закрепления за местоположением

Режим Pinned предоставляет вам максимальный контроль над камерой. В этом режиме вы размещаете камеру в определенном месте, задаете направление, чтобы сориентировать вид камеры, меняете наклон, чтобы установить угол обзора, и задаете уровень масштабирования камеры.

В приведенном ниже фрагменте кода показаны некоторые типичные способы перемещения камеры.

private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);

private GoogleMap map;
... // Obtain the map from a NavigationFragment or NavigationView.

// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 15));

// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());

// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(MOUNTAIN_VIEW)      // Sets the center of the map to Mountain View
    .zoom(17)                   // Sets the zoom
    .bearing(90)                // Sets the orientation of the camera to east
    .tilt(30)                   // Sets the tilt of the camera to 30 degrees
    .build();                   // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

Показать обзор маршрута

Настройка камеры showRouteOverview позволяет показать весь маршрут. Если в маршруте несколько пунктов назначения, в этом режиме показывается непройденная часть маршрута.

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

Дальнейшие действия

Подробнее о том, как настраивать встроенные компоненты интерфейса…