Das Navigation SDK bietet verschiedene Möglichkeiten, eine Navigationsfunktion in Ihre App einzubinden. Auf dieser Seite wird erläutert, was eine benutzerdefinierte Navigationsfunktion ist und wie sie sich von anderen Navigationsfunktionen unterscheidet, die im Navigation SDK verfügbar sind.
Was ist eine benutzerdefinierte Navigation?
Die primäre Methode zum Implementieren des Navigation SDK ist die Verwendung der Google-Navigation. Damit können Sie eine detaillierte Routenführung einbetten, bei der von Google bereitgestellte UI-Elemente und Grafiken verwendet werden – ähnlich wie bei der Navigation in den Google Maps-Apps. Wenn Sie mehr Flexibilität als bei der Google-Navigation benötigen, können Sie eine benutzerdefinierte Navigation implementieren. Eine benutzerdefinierte Navigation kann alles umfassen, von der vollständigen Deaktivierung der Abbiegehinweise und der Ausführung der Navigation nur als Hintergrundprozess bis hin zur Projektion einer stark angepassten Navigation auf einen Bildschirm, der sich vom Gerät, auf dem die Navigation ausgeführt wird, unterscheidet. Bei einer benutzerdefinierten Navigation ruft Ihre App das Navigation SDK auf, um einen Feed für die detaillierte Routenführung anzufordern. Anschließend stellen Sie die UI-Elemente und Grafiken bereit und verwalten sie, die der Nutzer bei der Navigation sieht. Die Implementierung der Google-Navigation ist in der Regel einfacher, aber wenn Sie Ihre eigene benutzerdefinierte Navigation erstellen, haben Sie mehr Möglichkeiten zur Anpassung.
Wenn Sie eine benutzerdefinierte Navigation erstellen, ruft Ihre App das Navigation SDK auf, um die Navigation zu starten, auszuführen und zu beenden. Dabei wird der folgende Ablauf verwendet:
Starten Sie die Navigation. Um eine benutzerdefinierte Navigation zu starten, erstellen Sie eine Navigationsinstanz und legen Sie das Ziel fest. Richten Sie mit
GMSNavigationService.createNavigationSessioneine Navigationssitzung ein. Dieses zustandsbehaftete Nicht-UI-Objekt funktioniert mit oder ohne View-Controller.Weitere Informationen finden Sie unter Details zum Datenfeed für die detaillierte Routenführung.
Demo ansehen:Der Download des Navigation SDK enthält eine Demo, die Sie ausführen können, um ein Beispiel für eine Navigationsfunktion zu sehen, bei der zwischen der detaillierten Routenführung über die Standardnavigation und einer Navigationsfunktion gewechselt wird, bei der nur der Gerätestandort entlang einer Straßen-Polylinie angezeigt wird.
Aktive Navigation: Hier ist ein weiterer wichtiger Unterschied zwischen einer von Google bereitgestellten Navigationsfunktion und einer benutzerdefinierten Navigationsfunktion. Anstatt die Anleitung an den integrierten Ereignismanager des Navigation SDK zu übergeben, richten Sie einen Listener für detaillierte Routenführung ein, indem Sie das
GMSNavigatorListener-Protokoll implementieren, und implementieren dann Ereignishandler. So kann Ihre Anwendung auf die in Navigationsereignisse mit einem Listener beobachten beschriebenen Ereignisse reagieren.Navigation beenden Wie bei der Google-Navigation müssen Sie auch bei der benutzerdefinierten Navigation die Navigation auf die für die App am besten geeignete Weise beenden.
Wann sollten Sie eine benutzerdefinierte Navigation verwenden?
In der folgenden Tabelle werden einige benutzerdefinierte Navigationsszenarien beschrieben.
Beispielszenario |
Allgemeine Schritte |
|---|---|
Für kleine Geräte wie Zweiräder müssen Sie eine reine Textanleitung für den Fahrer bereitstellen. |
Erstellen Sie Ihren Navigator und richten Sie die detaillierte Routenführung als Datenfeed für ein kleines Display ein, während der Navigator auf dem Smartphone des Fahrers außerhalb seines unmittelbaren Sichtfelds ausgeführt wird. |
Sie möchten Ihre App als Autoservice für Fahrer verfügbar machen, die Apple CarPlay verwenden. |
Weitere Informationen finden Sie unter Navigation für CarPlay aktivieren. |
Fahrer, die Ihre App verwenden, möchten für den Großteil ihrer Fahrt eine Übersichtskarte und nur für Stadtstraßen eine detaillierte Routenführung. |
In Ihrer App sollten Fahrer die Google-Navigation nach Bedarf starten und beenden können, ohne die Einstellungen des Navigators für Ziel und Fahrmodus ändern zu müssen. |