Kamera anpassen

Mit der Kamera können Sie die Ansicht des Nutzers auf die Karte ändern. Mithilfe der Kameramodi können Sie die Funktionsweise der Kartenansicht während der Navigation steuern. Rufen Sie eine der folgenden, der Kamera zugeordneten Methoden auf, um den Kameramodus einzustellen:

  • Meinen 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 zeigt die Kamera automatisch die Fahrtrichtung an. Ist die Einstellung für hohe Details aktiviert (NavigationMapStyle.HIGH_DETAIL), werden bei Zoomstufe 19 oder höher 2D-Gebäudeumrisse angezeigt.

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

  • Routenübersicht anzeigen (NavigationView.showRouteOverview oder SupportNavigationFragment.showRouteOverview): Zeigt eine Übersicht der verbleibenden Route an. Schwenken und zoomen Sie je nach Bedarf, um die Route in die Kartenansicht zu passen. 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 folgen

Die am häufigsten verwendete Kameraeinstellung besteht darin, die Kamera auf das Gerät oder Fahrzeug einzustellen und seine aktuelle Position innerhalb der Fahrt zu zeigen. In diesem Kameramodus können Sie sich die Route ansehen, wobei das Auto immer mit einer angewinkelten Perspektive (CameraPerspective.TILTED) auf dem Bildschirm angezeigt wird. Sie können sich auch ansehen, wie sich das Auto in Richtung Norden (CameraPerspective.TOP_DOWN_NORTH_UP) oder in Richtung (CameraPerspective.TOP_DOWN_HEADING_UP) immer oben auf dem Bildschirm) bewegt.

Im folgenden Codefragment wird die Perspektive TILTED verwendet:

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

Im Standortmodus angepinnt

Der Pinned-Modus bietet Ihnen die größte Kontrolle über die Kamera. In diesem Modus platzieren Sie die Kamera an einer bestimmten Position, weisen sie zur Ausrichtung der Kameraansicht zu, ändern die Neigung und stellen den Blickwinkel ein. Außerdem legen Sie 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

Mit der Kameraeinstellung „showRouteOverview“ wird die gesamte Reise angezeigt. Bei Fahrten mit mehreren Zielen zeigt dieser Modus den nicht zurückgelegten Teil der Route an.

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

Einstellung mit hoher Detailgenauigkeit

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

In diesem Beispiel wird die High-Detail-Einstellung 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. Das ist hoch genug, um 2D-Gebäudeumrisse anzuzeigen.

  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, wie Nutzer mit Ihrer Karte interagieren, indem Sie festlegen, welche der integrierten UI-Komponenten auf der Karte angezeigt werden.