Häufig gestellte Fragen
Produktdetails
- Wie sollte der Hinweis zu den Nutzungsbedingungen des Navigation SDK angezeigt werden?
- Welche Sprachen werden von der Sprachführung unterstützt?
- Wird die Peilung beibehalten, wenn der Fahrer den Navigationsmodus verlässt?
- Sind Polylinien verfügbar, wenn eine Route gestartet oder geändert wird?
- Müssen App-Nutzer die mobile Google Maps App installiert haben?
- Kann das Navigation SDK Parkplätze in der Nähe von Restaurants und anderen Zielen finden?
- Zeigt das Navigation SDK die Verkehrsrichtung auf den Fahrspuren an, wenn man sich einem Abbiegepunkt nähert?
Probleme
- In Xcode 12 werden Apps nicht korrekt für den Simulator erstellt. Was kann ich tun?
GMSMapViewwird nicht geladen.
Netzwerk
Daten
- Kann ich alle Haltestellen/Ziele einer Fahrt abrufen, bevor ich die Route starte?
- Ist die detaillierte Routenführung am Anfang einer Route verfügbar?
- Wie wird die voraussichtliche Ankunftszeit (ETA) an die App-Nutzer kommuniziert?
- Kann das
RoadSnappedLocationProviderverwendet werden, um den aktuellen eingerasteten Standort des Fahrers abzurufen, wenn die Navigation nicht im Vordergrund ist? - Unterstützt das Navigation SDK Geofencing?
- Kann ich Benachrichtigungen deaktivieren, wenn die Navigations-App im Hintergrund ausgeführt wird?
UI-Anpassung
- Kann ich die beste Route farblich kennzeichnen?
- Kann das Navigation SDK die voraussichtliche Ankunftszeit für das endgültige Ziel anzeigen?
- Wie kann ich die Updates zur voraussichtlichen Ankunftszeit ausblenden?
- Welche Anpassungen der Benutzeroberfläche sind für die Kopf- und Fußzeilenkarten verfügbar?
Routing
- Kann ich einem Fahrer eine bestimmte Route vorgeben oder alternative Routen entfernen?
- Kann ich dem Fahrer ein anderes Label für das Ziel als den Standardzielort anzeigen?
- Kann ich mit dem Navigation SDK Abweichungen von einem definierten Pfad verfolgen?
- Kann der Fahrer die Navigation beenden, ohne die Route abzuschließen?
- Unterstützt das Navigation SDK Routenplanung und Navigation für Lkw und große Fahrzeuge?
Simulator
Workflows
Mobilitätsdienste
- Wie unterscheidet sich die Verwendung des Navigation SDK für Kunden von Mobilitätsdiensten?
- Woran erkenne ich, ob ich ein Mobility Services-Kunde bin?
- Wie wird das Navigation SDK für Mobility Services-Kunden abgerechnet?
- Welche Navigation SDK APIs sollten nur von Mobility Services-Kunden verwendet werden?
- Kann ich als Mobility Services-Kunde auch eine Implementierung des Navigation SDK verwenden, die nicht zu Mobility Services gehört?
Produktdetails
- In Ihrer App muss ein Dialogfeld mit den Nutzungsbedingungen für das Navigation SDK implementiert sein, die jeder Fahrer akzeptieren muss. In diesem Dialogfeld kann der Fahrer den Nutzungsbedingungen zustimmen. Eine Textdatei mit den Nutzungsbedingungen wird mit dem Navigation SDK bereitgestellt.
- Verwenden Sie unter Android die Methode
NavigationApi.showTermsAndConditionsDialog, um das Dialogfeld mit den Nutzungsbedingungen anzuzeigen. - Rufen Sie unter iOS
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyNameauf. - Alle von Google Maps Mobile unterstützten Sprachen sind automatisch für das Navigation SDK verfügbar. Ein Gerät hat eine Standardsystemsprache, die von einer App nicht geändert werden kann. Die App hat jedoch Zugriff auf über 70 Sprachen.
-
Ja. Unter Android wird die
LocationListenernach dem Start im Hintergrund ausgeführt. Die App rastet die Position weiterhin auf der Straße ein und behält die Peilung bei.Wenn Sie unter iOS weiterhin Standort-Updates zu Position und Peilung im Hintergrund erhalten möchten, müssen Sie das Einrasten auf Straßen implementieren und
allowsBackgroundLocationUpdatesaufYESsetzen. -
Ja. Wenn eine Route erstellt oder geändert wird, stellt die
RouteChangeListenerPolylinien bereit. - 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 Verkehrsrichtung ist verfügbar und wird standardmäßig angezeigt.
Probleme
- In Xcode 12 werden Apps nicht richtig für den Simulator erstellt. Wie kann ich das Problem beheben?
-
Öffnen Sie die Build-Einstellungen Ihres Xcode-Projekts und fügen Sie
arm64unterExcluded Architectureshinzu, allerdings nur für Builds vom Typ „iOS Simulator“.Weitere Informationen finden Sie in diesem StackOverflow-Thread.
- GMSMapView wird nicht geladen.
-
Wenn die GMSMapView nicht geladen wird:
- Prüfen Sie, ob das NavSDK in der Cloud Console aktiviert ist.
- Wenn das Nav SDK installiert ist, Ihr Projekt aber keine Nav SDK APIs verwendet, entfernen Sie es aus Ihrer Binärdatei.
Netzwerk
- Wie geht das Navigation SDK mit schlechter Verbindung um?
- Das Navigation SDK speichert die Route für jede Fahrt im Cache. Die im Cache gespeicherten Informationen umfassen Routeninformationen für 15–20 Minuten und Routenalternativen für den Fall, dass der Fahrer von der Route abweicht. Das Navigations-SDK schätzt die Position anhand des GPS und der Sensoren des Geräts.
- Gibt es einen Offlinemodus?
- Nein, das Navigation SDK bietet derzeit keinen Offlinemodus. Es stellt jedoch im Cache gespeicherte Informationen für eine Fahrt bereit.
Daten
- Kann ich alle Zwischenstopps/Ziele einer Fahrt abrufen, bevor ich die Route starte?
-
Ja. Rufen Sie in Android
Navigator.getRouteSegments()auf, um die Wegbeschreibung für eine Route abzurufen.Rufen Sie unter iOS
GMSNavigator.routeLegs(read)auf. - Ist die detaillierte Routenführung am Anfang einer Route verfügbar?
- Ja. Das Navigation SDK stellt eine Liste von Routensegmenten bereit. Außerdem kann der Fahrer in der Kopfzeile durch die Wegbeschreibungen wischen, um sich die einzelnen Manöver anzusehen.
- Wie wird die voraussichtliche Ankunftszeit den App-Nutzern mitgeteilt?
-
Gehen Sie unter Android so vor, um App-Nutzern Informationen zur voraussichtlichen Ankunftszeit zur Verfügung zu stellen:
- Rufen Sie die Zeit und Entfernung für alle Wegpunkte mit
Navigator.getTimeAndDistanceList()ab. - Leiten Sie diese Informationen an die Clientanwendung weiter, so wie Sie es auch für die voraussichtliche Ankunftszeit des Fahrers tun.
In iOS können Sie App-Nutzern die voraussichtliche Ankunftszeit so zur Verfügung stellen:
- Rufen Sie die Abschnitte der Fahrt mit
Navigator.getRouteSegments()ab. - Rufen Sie
GMSNavigator.timeToNextDestinationfür jeden Reiseabschnitt auf. - Leiten Sie die Zeitinformationen an die Clientanwendung weiter, so wie Sie es auch für die voraussichtliche Ankunftszeit des Fahrers tun.
- Rufen Sie die Zeit und Entfernung für alle Wegpunkte mit
-
Kann die
RoadSnappedLocationProviderverwendet werden, um den aktuellen eingerasteten Standort des Fahrers abzurufen, wenn die Navigation nicht im Vordergrund ist? -
Ja. In Android wird der
RoadSnappedLocationProviderstandardmäßig im Hintergrund ausgeführt.Damit die Navigation unter iOS im Hintergrund weiterläuft, müssen Sie den Listener für
GMSRoadSnappedLocationProviderListenerimplementieren und die PropertyallowsBackgroundLocationUpdatesaufTRUEsetzen. - Unterstützt das Navigation SDK Geofencing?
-
Nein. Im Kontext der Navigation hat
remainingTimeOrdistanceChangeListenereinen Vorteil gegenüber einem Geofence. Der Geofence berücksichtigt möglicherweise nicht die Straßengeometrie und ist eventuell nicht auf den genauen Punkt zentriert, zu dem der Fahrer navigiert.Sie können diese Funktion mit
remainingTimeOrdistanceChangeListenerannähern.- Legen Sie den Schwellenwert fest, um die Häufigkeit der Callbacks zu bestimmen.
- Prüfe die verbleibende Entfernung zum Ziel.
Wenn Sie den Schwellenwert beispielsweise auf 100 m festlegen, erhalten Sie einen Callback, wenn sich die Entfernung zum Ziel um 100 m ändert. Wenn sich die Entfernung verringert, können Sie diesen Grenzwert auf einen kleineren Wert aktualisieren und häufiger Rückrufe erhalten. Prüfen Sie dann die verbleibende Entfernung, um festzustellen, ob Sie sich nahe genug am Abhol-/Absetzort befinden.
Implementieren Sie unter iOS den Listener
GMSNavigatorListener.didUpdateRemainingDistance, um den Abstand zwischen Benachrichtigungen zu verwalten. - Kann ich Benachrichtigungen deaktivieren, wenn die Navigations-App im Hintergrund ausgeführt wird?
-
Ja. In Android kannst du Benachrichtigungen mit
Navigator.setHeadsUpNotificationEnabledsteuern. Diese Methode hat ein boolesches Argument.FALSEdeaktiviert Benachrichtigungen,TRUEaktiviert sie.In iOS können Sie die Hintergrundbenachrichtigung für an Straßen ausgerichtete Standorte deaktivieren, indem Sie
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdatesauf NO setzen.Wenn Sie die Hintergrundverarbeitung für andere Standortbenachrichtigungen deaktivieren möchten, rufen Sie
GMSNavigator.sendsBackgroundNotifications(NO)auf.
UI-Anpassung
- Kann ich die beste Route farblich kennzeichnen?
- Nein. Die Farbcodierung einer bestimmten Routenoption wird derzeit nicht unterstützt.
- Kann das Navigation SDK die voraussichtliche Ankunftszeit für das endgültige Ziel anzeigen?
-
Ja. Verwenden Sie unter Android die folgenden Methoden:
- Rufen Sie die Zeit und Entfernung für alle Wegpunkte mit
Navigator.getTimeAndDistanceList()ab. - Die voraussichtliche Ankunftszeit des aktuellen Wegpunkts mit
NavigationFragment.setEtaCardEnabled(false)ausblenden. - Die voraussichtliche Ankunftszeit am Zielort rendern.
Verwenden Sie unter iOS Folgendes:
- Rufen Sie einfach
GMSNavigator.routeLegs(read)an. - Rufen Sie für den letzten Abschnitt
GMSNavigator.timeToNextDestinationauf. - Blenden Sie die voraussichtliche Ankunftszeit des aktuellen Wegpunkts aus, indem Sie
MSMapView.settings.navigationFooterEnabled=NOauf FALSE setzen. - Die voraussichtliche Ankunftszeit am Zielort rendern.
- Rufen Sie die Zeit und Entfernung für alle Wegpunkte mit
- Wie kann ich Updates zur voraussichtlichen Ankunftszeit ausblenden?
-
Sie können Karten zur voraussichtlichen Ankunft mit den folgenden Methoden deaktivieren:
- Verwenden Sie unter Android
navigationView.setEtaCardEnabled(false). - Verwenden Sie unter iOS
GMSMapView.settings.navigationFooterEnabled=NO.
- Verwenden Sie unter Android
-
In Android verwenden Sie
StylingOptions, um die Hintergrundfarbe festzulegen. Wenn Sie die Kopf- und Fußzeile ein- oder ausblenden möchten, verwenden Sie die MemberfunktionensetHeaderEnabledundsetFooterEnabledvonNavigationFragment.Verwenden Sie unter iOS
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor, um die Hintergrundfarbe festzulegen. Wenn Sie die Kopf- und Fußzeile ein- oder ausblenden möchten, verwenden Sie die AttributenavigationFooterEnabledundnavigationHeaderEnabledvonGMSUISettings.
Routing
- Kann ich einem Fahrer eine bestimmte Route vorgeben oder alternative Routen entfernen?
- Nein. Standardmäßig werden mehrere Routen bereitgestellt und die schnellste Route hat Priorität. Sie können die Standardroute beeinflussen, indem Sie Ihrer Anfrage Einstellungen wie „Autobahnen und Mautstraßen vermeiden“ hinzufügen. Auch das Hinzufügen von Wegpunkten wirkt sich auf die Route aus.
- Kann ich dem App-Nutzer ein anderes Label für das Ziel als den Standardzielort anzeigen?
-
Ja. Erstellen Sie in Android einen
Markermit einem benutzerdefinierten Titel für das Ziel und den Breiten-/Längengrad. Das Navigation SDK zeigt den benutzerdefinierten Titel und die Koordinaten auf demNavigationMapan.In iOS erstellen Sie eine
GMSMarkerfür das Ziel und zeigen sie an. - Kann ich mit dem Navigation SDK Abweichungen von einem definierten Pfad verfolgen?
-
Ja. In Android können Sie
Navigator.setRouteChangedListenerverwenden, um Benachrichtigungen zu erhalten, wenn sich eine Route ändert oder eine neue Route empfohlen wird:- Registrieren Sie einen Listener, der die Geräteposition entlang der Route mit der Methode
Navigator.setRouteChangedListenerprüft. - Fügen Sie dem Callback-Event-Handler
onRouteChangedCode hinzu:- Senden Sie eine Nachricht mit der aktualisierten voraussichtlichen Ankunftszeit und Entfernung an den App-Nutzer.
- Den Standort des Geräts verfolgen
- [Optional] Fügen Sie weitere Funktionen hinzu, die Ihre App benötigt, um zu reagieren, wenn der Fahrer die vorgegebene Route verlässt.
In iOS können Sie
GMSNavigatorund die zugehörigen Listener verwenden, um Benachrichtigungen zu erhalten, wenn sich eine Route ändert oder eine neue Route empfohlen wird:- Implementieren Sie im Ansichts-Controller der Karte das
GMSNavigatorListener- und dasGMSRoadSnappedLocationProviderListener-Protokoll. - Implementieren Sie
GMSNavigatorListener.navigatorDidChangeRoute. - Greifen Sie über die Attribute
routeLegsundcurrentRouteLegdesGMSNavigatorauf die neue Route zu.
- Registrieren Sie einen Listener, der die Geräteposition entlang der Route mit der Methode
-
Ja. Rufen Sie unter Android die Methode
Navigator.stopGuidance()auf, um die Navigation zu beenden.Rufen Sie unter iOS
GMSNavigator.clearDestinationsauf. - Unterstützt das Navigation SDK Routenplanung und Navigation für Lkw und große Fahrzeuge?
-
Ja. Mit der Routenplanung für große Fahrzeuge (Large Vehicle Routing, LVR) können Sie Lkw-spezifische Routentokens, die von der Routes API oder der Route Optimization API generiert wurden, an das Navigation SDK übergeben. Das SDK bietet eine detaillierte Routenführung mit Routenhinweisen (Höhe, Gewicht, Gefahrgut und Lkw-Beschränkungen) und berücksichtigt das physische Profil des Fahrzeugs bei der dynamischen Routenneuberechnung. Weitere Informationen finden Sie unter Routen für große Fahrzeuge.
Simulator
- Unterstützt der Simulator Routenänderungen?
-
Ja. Rufen Sie unter Android
simulateLocationsAlongNewRouteauf, um eine Fahrt mit einer Routenänderung zu simulieren. Die MethodesimulateLocationsAlongExistingRouteignoriert Änderungen an der vorhandenen Route.Verwenden Sie unter iOS
GMSLocationSimulator.simulateAlongNewRouteToDestinations, um eine Fahrt mit einer Routenänderung zu simulieren. Wenn Sie keine Routenänderungen erwarten, können SieGMSLocationSimulator.simulateLocationsAlongExistingRouteoderGMSLocationSimulator.simulateAlongNewRouteToDestinationsverwenden.
Workflows
- Wie schließe ich die Benachrichtigung, nachdem ich eine Aktivität mit einem Navigationsfragment geschlossen habe?
-
Die Navigationsbenachrichtigung bleibt während der Navigation sichtbar, wenn die Aktivität geschlossen wird. Wenn das Fahrzeug am Ziel ankommt, wird die Navigation beendet und die Benachrichtigung verschwindet.
Verwenden Sie
Navigator.startGuidance(intent resumeIntent), um Klicks auf die Benachrichtigung zu verarbeiten. Dasresume intentwird ausgelöst, wenn der App-Nutzer auf die Benachrichtigung klickt. In der Regel wird dieNavigator.startguidance(getIntent())von der Hauptaktivität aufgerufen, die die Aktivität wieder aufruft, wenn der App-Nutzer auf die Benachrichtigung klickt.
Mobilitätsdienste
Die Google Maps Platform Mobility Services bieten eine Sammlung von APIs und SDKs, die die Anforderungen von Transport- und Logistikunternehmen unterstützen. Mobility Services-Kunden verwenden das Navigation SDK in der Regel in Verbindung mit zugehörigen Diensten für die Routenoptimierung, die Disposition, das Aufgaben-Tracking, die Flottenanalyse und mehr. Für Kunden von Mobilitätsdiensten wird das Navigation SDK außerdem anders abgerechnet. Weitere Informationen finden Sie in der Dokumentation zu Mobility Services.
Mobilitätsprodukte sind nur für ausgewählte Kunden verfügbar. Weitere Informationen erhalten Sie von Ihrem Vertriebsmitarbeiter.
ReportBillableEvent-Aufruf. Nur Kunden von Mobilitätsdiensten sollten die Methode ReportBillableEvent aufrufen.
Das Navigation SDK enthält mehrere APIs, die nur für Kunden von Mobility Services vorgesehen sind. Diese Kunden werden von Google pro Transaktion abgerechnet. Wenn Sie kein Mobility Services-Kunde sind, sind die folgenden Methoden No-Ops:
Ja, Mobility Services-Kunden können sowohl Mobility Services- als auch Nicht-Mobility Services-Implementierungen des Navigation SDK verwenden. Sie können jedoch jeweils nur einen Implementierungstyp in einer App verwenden. Außerdem müssen Sie ein neues Google Cloud-Projekt, ein neues Rechnungskonto und einen neuen API-Schlüssel erstellen, die von den für Ihre Mobility Services-Implementierung verwendeten Projekten, Konten und Schlüsseln getrennt sind. Weitere Informationen finden Sie in der Übersicht zur Einrichtung des Navigation SDK.
Weitere Informationen zur Verwendung einer Implementierung des Navigation SDK, die nicht auf den Mobility Services basiert, einschließlich der Migration einer App von einem Implementierungstyp zum anderen, erhalten Sie von Ihrem Google-Kundenbetreuer.
Hinweis: Wenn Sie kein Mobility Services-Kunde sind und mehr über die APIs und SDKs von Mobility Services erfahren möchten, wenden Sie sich an den Google Maps Platform-Vertrieb.