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

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

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

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

  • Показать обзор маршрута ( NavigationView.showRouteOverview или SupportNavigationFragment.showRouteOverview ) — отображает обзор оставшегося маршрута (до следующих 45 минут времени вождения), панорамируя и масштабируя по мере необходимости, чтобы вписать маршрут в вид карты. При выборе этого вида видна кнопка Re-center .

Нажатие кнопки «Повторное центрирование» переводит камеру в режим 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();

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

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