Häufig gestellte Fragen

Produktdetails

Netzwerk

Daten

UI-Anpassung

Routing

Simulator

Workflows

Produktdetails

In Ihrer App muss ein Dialogfeld mit den Nutzungsbedingungen des Navigation SDK implementiert werden, die jeder Nutzer akzeptieren muss. In diesem Dialogfeld hat der Nutzer die Möglichkeit, den Nutzungsbedingungen zuzustimmen. Eine Textdatei mit den Bedingungen wird mit dem Navigation SDK bereitgestellt. Verwenden Sie die Methode NavigationApi.showTermsAndConditionsDialog, um das Dialogfeld mit den Begriffen aufzurufen.
Alle von Google Maps Mobile unterstützten Sprachen sind automatisch für das Navigation SDK verfügbar. Auf einem Gerät ist eine standardmäßige Systemsprache festgelegt, die von einer App nicht geändert werden kann. Die App hat jedoch Zugriff auf über 70 Sprachen.

Ja. Nach dem Start wird LocationListener weiterhin im Hintergrund ausgeführt. Ihre App rastet weiterhin die Straße an der gewünschten Position ein und behält die Peilung bei.

Ja. Wenn eine Route erstellt oder geändert wird, werden mit RouteChangeListener Polylinien angegeben.

Nein, für das Navigation SDK muss Google Maps Mobile nicht auf dem Gerät installiert sein.
Nein, das Navigation SDK bietet diese Funktion derzeit nicht.
Ja. Die Fahrtrichtung ist verfügbar und wird standardmäßig angezeigt.
Welche Versionen des JDK werden vom Navigation SDK unterstützt?
Das Navigation SDK unterstützt die LTS-Versionen von Java SE, die aktiv von Oracle unterstützt werden. Für diese Versionen sind in der Oracle Java SE Support Roadmap mit Premier Support aufgeführt.

Netzwerk

Wie geht das Navigation SDK mit schlechter Verbindung um?
Das Navigation SDK speichert die Route für jede Fahrt vorab im Cache. Die vorab im Cache gespeicherten Informationen umfassen Routeninformationen für 15 bis 20 Minuten sowie alternative Routen für den Fall, dass der Nutzer von der Route abweicht. Das Navigation SDK ermittelt die Position anhand des GPS des Geräts und der Sensoren des Geräts.
Ist ein Offlinemodus verfügbar?
Nein, das Navigation SDK bietet derzeit keinen Offlinemodus. Allerdings stellt das SDK vorab im Cache gespeicherte Informationen für eine Fahrt bereit.

Daten

Kann ich alle Haltestellen/Ziele einer Fahrt abrufen, bevor ich die Route beginne?

Ja. Rufen Sie Navigator.getRouteSegments() auf, um die Wegbeschreibung für eine Route abzurufen.

Ist am Anfang einer Route eine detaillierte Routenführung verfügbar?
Ja. Das Navigation SDK stellt eine Liste mit Routensegmenten bereit. Außerdem kann der Nutzer durch die Routenkarte in der Kopfzeile wischen, um jede Abbiegung anzuzeigen.
Wie wird die voraussichtliche Ankunftszeit an die App-Nutzer kommuniziert?

So können Sie App-Nutzern Informationen zur voraussichtlichen Ankunftszeit mitteilen:

  1. Rufen Sie mit Navigator.getTimeAndDistanceList() die Zeit und die Entfernung für alle Wegpunkte ab.
  2. Leiten Sie diese Informationen wie für das ETA des Treibers an die Clientanwendung weiter.
Kann die RoadSnappedLocationProvider verwendet werden, um den aktuellen ausgerichteten Standort des Nutzers abzurufen, wenn die Navigation nicht im Vordergrund ausgeführt wird?

Ja. RoadSnappedLocationProvider wird standardmäßig im Hintergrund ausgeführt.

Unterstützt das Navigation SDK Geofencing?

Nein. Im Kontext der Navigation hat remainingTimeOrdistanceChangeListener einen Vorteil gegenüber einem Geofence. Beim Geofence wird die Straßengeometrie möglicherweise nicht berücksichtigt und der Geofence ist möglicherweise nicht auf den genauen Punkt zentriert, zu dem der Nutzer unterwegs ist.

Sie können diese Funktion mit remainingTimeOrdistanceChangeListener annähern.

  1. Legen Sie den Grenzwert fest, um die Häufigkeit der Rückrufe zu bestimmen.
  2. Prüfen Sie die verbleibende Entfernung zum Ziel.

Wenn Sie den Grenzwert beispielsweise auf 100 m festlegen, erhalten Sie einen Callback, wenn sich die Entfernung zum Ziel um 100 m ändert. Wenn die Entfernung abnimmt, können Sie diesen Schwellenwert auf einen kleineren Wert aktualisieren und häufigere Callbacks erhalten. Überprüfen Sie dann die verbleibende Entfernung, um festzustellen, ob Sie nah genug am Abhol-/Absetzort sind.

Kann ich Benachrichtigungen deaktivieren, wenn die Navigations-App im Hintergrund ausgeführt wird?

Ja. Mit Navigator.setHeadsUpNotificationEnabled können Sie Benachrichtigungen verwalten. Diese Methode hat ein boolesches Argument. FALSE deaktiviert Benachrichtigungen; TRUE aktiviert Benachrichtigungen.

Der Transaktionsrekorder verfolgt Abhol- und Abbrüche mit einer eindeutigen ID, die Google zu Produktanalysezwecken protokolliert. Wenn Sie Mobility Services-Kunde sind, empfiehlt Google, die NavigationTransactionRecorder zu implementieren, um einen Datensatz Ihrer Transaktionen zu protokollieren.

UI-Anpassung

Kann ich die beste Routenoption farblich kennzeichnen?
Nein. Farbcodierungen für Routen werden derzeit nicht unterstützt.
Kann das Navigation SDK die voraussichtliche Ankunftszeit für das endgültige Ziel anzeigen?

Ja. Gehen Sie so vor:

  1. Rufen Sie mit Navigator.getTimeAndDistanceList() die Zeit und die Entfernung für alle Wegpunkte ab.
  2. Sie können die voraussichtliche Ankunftszeit des aktuellen Wegpunkts mit NavigationFragment.setEtaCardEnabled(false) ausblenden.
  3. Rendern Sie die endgültige Ziel-ETA.
Wie kann ich Aktualisierungen bei voraussichtlicher Ankunftszeit ausblenden?

Rufe navigationView.setEtaCardEnabled(false) auf, um ETA-Karten zu deaktivieren.

Welche UI-Anpassungen sind für die Kopf- und Fußzeilenkarten verfügbar?

Verwenden Sie StylingOptions, um die Hintergrundfarbe festzulegen. Wenn Sie die Kopf- und Fußzeile ein- oder ausblenden möchten, verwenden Sie die Mitgliederfunktionen setHeaderEnabled und setFooterEnabled von NavigationFragment.

Routing

Kann ich Nutzern eine bestimmte Route anzeigen oder alternative Routen entfernen?
Nein. Standardmäßig werden mehrere Routen angegeben. Die schnellste Route hat Priorität. Sie können die Standardroute ändern, indem Sie Ihrer Anfrage Einstellungen wie „Autobahnen und Mautstraßen vermeiden“ hinzufügen. Das Hinzufügen von Wegpunkten wirkt sich auch auf die Route aus.
Kann ich dem Anwendungsnutzer für das Ziel ein anderes Label als den Standardzielort anzeigen?

Ja. Erstellen Sie eine Marker mit einem benutzerdefinierten Titel für das Ziel und dem Breiten- und Längengrad. Das Navigation SDK zeigt den benutzerdefinierten Titel und die Koordinaten auf der NavigationMap an.

Kann ich das Navigation SDK verwenden, um Abweichungen von einem definierten Pfad zu verfolgen?

Ja. Verwenden Sie Navigator.setRouteChangedListener, um Benachrichtigungen zu erhalten, wenn sich eine Route ändert oder eine neue Route empfohlen wird:

  1. Registrieren Sie mit der Methode Navigator.setRouteChangedListener einen Listener, der die Geräteposition entlang der Route prüft.
  2. Fügen Sie dem Callback-Event-Handler onRouteChanged Code hinzu:
    • Sende eine Nachricht mit aktualisierten Angaben zur voraussichtlichen Ankunftszeit und zur Entfernung an den App-Nutzer.
    • Standort des Geräts verfolgen.
    • [optional] Fügen Sie weitere Funktionen hinzu, die für Ihre App erforderlich sind, um zu reagieren, wenn sich der Nutzer auf der vorgesehenen Route befindet.
Kann der Nutzer die Navigation beenden, ohne die Route abzuschließen?

Ja. Rufen Sie die Methode Navigator.stopGuidance() auf, um die Navigation zu beenden.

Simulator

Unterstützt der Simulator Routenänderungen?

Ja. Rufen Sie simulateLocationsAlongNewRoute auf, um eine Fahrt mit einer Routenänderung zu simulieren. Die Methode simulateLocationsAlongExistingRoute ignoriert Änderungen an der vorhandenen Route.

Workflows

Wie schließe ich die Benachrichtigung, nachdem ich eine Aktivität geschlossen habe, die ein Navigationsfragment enthält?

Die Navigationsbenachrichtigung bleibt während der Navigation sichtbar, wenn die Aktivität geschlossen wird. Sobald das Fahrzeug am Ziel angekommen ist, stoppt die Navigation und die Benachrichtigung wird ausgeblendet.

Verwenden Sie Navigator.startGuidance(intent resumeIntent), um Klicks auf die Benachrichtigung zu verarbeiten. resume intent wird ausgelöst, wenn der App-Nutzer auf die Benachrichtigung klickt. Normalerweise wird die Navigator.startguidance(getIntent()) aus der Hauptaktivität aufgerufen, die sich an die Aktivität abruft, wenn der App-Nutzer auf die Benachrichtigung klickt.