Kamera anpassen

Mit der Kamera können Sie die Nutzeransicht der Karte ändern. Mit Kameramodi können Sie das Verhalten der Kartenansicht während der Navigation steuern. Wenn Sie den Kameramodus festlegen möchten, rufen Sie eine der folgenden Methoden auf, die mit der Kamera verknüpft sind:

  • Meinem Standort folgen (GoogleMap.followMyLocation): Der Standardkameramodus für die Navigation. In diesem Modus wird die Kamera auf das Gerät oder Fahrzeug eingestellt. Während der Navigation ist die Kamera automatisch in Fahrtrichtung ausgerichtet.

  • An Standort angepinnt (GoogleMap.animateCamera und GoogleMap.moveCamera): Die Kamera wird an einem bestimmten Standort fixiert. In diesem Modus können Sie die Kameraposition sowie andere Kameraeigenschaften wie Ausrichtung, Neigung und Zoom festlegen. Wenn diese Ansicht ausgewählt und der Navigator initialisiert wurde, ist die Schaltfläche Neu zentrieren sichtbar.

  • Routenübersicht anzeigen (NavigationView.showRouteOverview oder NavigationFragment.showRouteOverview): Zeigt eine Übersicht der verbleibenden Route (bis zu den nächsten 45 Minuten Fahrzeit) an. Dabei wird die Karte nach Bedarf geschwenkt und gezoomt, damit die Route in die Kartenansicht passt. Wenn diese Ansicht ausgewählt ist, wird die Schaltfläche Neu zentrieren angezeigt.

Wenn Sie auf die Schaltfläche Neu zentrieren klicken, wird die Kamera in den Modus followMyLocation versetzt.

Standortmodus „Meinem Standort folgen“

Die gängigste Kameraeinstellung ist die Ausrichtung auf das Gerät oder Fahrzeug, um die aktuelle Position auf der Fahrt anzuzeigen. In diesem Kameramodus können Sie die Route so anzeigen lassen, dass das Auto immer in einer schrägen Perspektive (CameraPerspective.TILTED) nach oben fährt, oder Sie können das Auto so anzeigen lassen, dass Norden (CameraPerspective.TOP_DOWN_NORTH_UP) oder die Fahrtrichtung (CameraPerspective.TOP_DOWN_HEADING_UP) immer oben auf dem Bildschirm ist.

Im folgenden Codefragment wird die Perspektive TILTED verwendet:

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

An Standortmodus angepinnt

Der Modus Pinned bietet dir die meiste Kontrolle über die Kamera. In diesem Modus platzieren Sie die Kamera an einem bestimmten Ort, weisen ihr eine Ausrichtung zu, ändern die Neigung, um den Blickwinkel festzulegen, und stellen die Zoomstufe der Kamera ein.

Im folgenden Code-Snippet werden einige der gängigen Methoden zum Bewegen der Kamera veranschaulicht.

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));

Routenübersicht einblenden

In der Kameraeinstellung showRouteOverview wird die gesamte Fahrt angezeigt. Bei Fahrten mit mehreren Zielen wird in diesem Modus der noch nicht zurückgelegte Teil der Route angezeigt.

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

Nächster Schritt

Weitere Informationen zum Konfigurieren integrierter UI-Komponenten finden Sie unter Navigations-UI anpassen.