Kamera anpassen

Mit der Kamera können Sie den Blickwinkel des Nutzers auf die Karte ändern. Mit den Kameramodi lässt sich das Verhalten der Kartenansicht während der Navigation steuern. Rufen Sie zum Festlegen des Kameramodus eine der folgenden Methoden für die Kamera auf:

  • Meinen Standort folgen (GoogleMap.followMyLocation): Der standardmäßige Kameramodus für die Navigation. In diesem Modus wird die Kamera auf das Gerät oder Fahrzeug festgelegt. Während der Navigation zeigt die Kamera automatisch in die Fahrtrichtung. Wenn die Einstellung „Hohe Detailgenauigkeit“ (NavigationMapStyle.HIGH_DETAIL) aktiviert ist, werden bei Zoomstufe 19 oder höher die Gebäudeumrisse in 2D angezeigt.

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

  • Routenübersicht anzeigen (NavigationView.showRouteOverview oder SupportNavigationFragment.showRouteOverview): Zeigt eine Übersicht der verbleibenden Route an und schwenkt und zoomt nach Bedarf, um die Route in die Kartenansicht anzupassen. Wenn diese Ansicht ausgewählt ist, ist die Schaltfläche Neu zentrieren sichtbar.

Durch Klicken auf die Schaltfläche Neu zentrieren wird die Kamera in den followMyLocation-Modus versetzt.

Meinen Standortmodus nutzen

Die am häufigsten verwendete Kameraeinstellung besteht darin, die Kamera auf das Gerät oder Fahrzeug so einzustellen, dass seine aktuelle Position innerhalb der Fahrt angezeigt wird. In diesem Kameramodus können Sie die Route sehen, während das Auto immer nach oben zeigt. Die Perspektive ist angewinkelt (CameraPerspective.TILTED) oder das Auto in Richtung Norden (CameraPerspective.TOP_DOWN_NORTH_UP) oder die Richtung (CameraPerspective.TOP_DOWN_HEADING_UP) ist immer oben auf dem Bildschirm).

Das folgende Codefragment verwendet die Perspektive TILTED:

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

Im Standortmodus angepinnt

Im Pinned-Modus haben Sie die meiste Kontrolle über die Kamera. In diesem Modus platzieren Sie die Kamera an einer bestimmten Stelle, weisen eine Peilung zur Ausrichtung der Kameraansicht zu, ändern die Neigung, um den Blickwinkel festzulegen, und legen den Zoomfaktor der Kamera fest.

Das folgende Code-Snippet zeigt einige der gängigen Methoden zum Bewegen der Kamera.

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

Routenübersichtsmodus anzeigen

Die Kameraeinstellung „showRouteOverview“ zeigt die gesamte Fahrt an. Bei Fahrten mit mehreren Zielen wird in diesem Modus der nicht zurückgelegte Teil der Route angezeigt.

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

Einstellung für viele Details

Wenn die Einstellung „Hohe Details“ aktiviert ist, werden 2D-Gebäudeumrisse angezeigt, wenn die Zoomstufe der Kamera auf 19 oder höher eingestellt ist. Sie können die Zoomstufe während der Navigation mit einem FollowMyLocationOptions-Objekt überschreiben. So können Sie die Zoomstufe so erhöhen, dass 2D-Gebäudeumrisse dargestellt werden, wenn sich der Nutzer dem Ziel nähert.

In diesem Beispiel wird die Einstellung „Hohe Details“ aktiviert:

  navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);

Im folgenden Beispiel wird die Zoomstufe der Kamera während der Navigation überschrieben. Die Zoomstufe ist auf 15 eingestellt, was hoch genug ist, um Gebäudeumrisse in 2D darzustellen.

  googleMap.followMyLocation(
              FollowMyLocationOptions.builder(CameraPerspective.TILTED)
                      .setZoomLevel(15.0f)
                      .build());

Nächster Schritt

Unter Navigations-UI anpassen erfahren Sie, wie Sie die Art und Weise anpassen können, wie Nutzer mit Ihrer Karte interagieren. Dazu legen Sie fest, welche der integrierten UI-Komponenten auf der Karte angezeigt werden.