Отрегулируйте камеру

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

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

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

  • Показать обзор маршрута ( NavigationView.showRouteOverview или SupportNavigationFragment.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 SupportNavigationFragment 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();

Следующий шаг

См. раздел «Настройка пользовательского интерфейса навигации» , чтобы узнать, как настроить взаимодействие пользователей с картой, определив, какие из встроенных компонентов пользовательского интерфейса будут отображаться на карте.