Das Navigation SDK bietet verschiedene Möglichkeiten, eine Navigation in Ihre App einzubinden. Auf dieser Seite wird erläutert, was eine benutzerdefinierte Navigation ist und wie sie sich von anderen Navigationsoptionen unterscheidet, die im Navigation SDK verfügbar sind.
Was ist eine benutzerdefinierte Navigation?
Die primäre Methode zur Implementierung des Navigations-SDKs ist die Verwendung der Google-Navigation. Damit können Sie eine detaillierte Routenführung einbetten, die von Google bereitgestellte UI-Elemente und visuelle Elemente verwendet – ähnlich wie die Navigation in den Google Maps-Apps. Wenn Sie mehr Flexibilität als die Navigation von Google benötigen, können Sie eine benutzerdefinierte Navigation implementieren. Eine benutzerdefinierte Navigation kann alles umfassen, von der vollständigen Eliminierung der Abbiegeverfahren und der Ausführung der Navigation nur als Hintergrundprozess bis hin zur Projektion einer stark personalisierten Navigation auf einen Bildschirm, der sich vom Gerät unterscheidet, auf dem die Navigation ausgeführt wird. Bei einer benutzerdefinierten Navigation ruft Ihre App das Navigations-SDK auf, um einen Feed mit detaillierten Wegbeschreibungen anzufordern. Sie stellen dann die UI-Elemente und visuellen Elemente bereit und verwalten sie, die der Nutzer in der Navigation sieht. Die Navigation von Google ist zwar in der Regel einfacher zu implementieren, aber eine benutzerdefinierte Navigation bietet mehr Anpassungsmöglichkeiten.
Wenn Sie eine benutzerdefinierte Navigation erstellen, ruft Ihre App das Navigations-SDK auf, um die Navigation zu starten, auszuführen und anzuhalten. Dabei wird der folgende Ablauf verwendet:
Starten Sie die Navigation. Wie bei der Google-Navigation müssen Sie auch bei einer benutzerdefinierten Navigationsfunktion eine Navigations-Instanz erstellen und das Ziel festlegen. Bei einer benutzerdefinierten Navigation wird dies jedoch dadurch erreicht, dass zuerst eine Navigationssitzung mit
GMSNavigationService.createNavigationSession
eingerichtet wird. Dabei handelt es sich um ein nicht-UI-Objekt mit Status, das entweder mit oder ohne View Controller verwendet werden kann.Weitere Informationen finden Sie unter Feed mit detaillierten Wegbeschreibungen aktivieren.
Demo ansehen:Der Download des Navigation SDK enthält eine Demo, in der Sie ein Beispiel für eine Navigation sehen, die zwischen einer detaillierten Wegbeschreibung über die Standardnavigation und einer Navigation wechselt, bei der nur der Gerätestandort entlang einer Straßenpolylinie angezeigt wird.
Aktive Navigation Hier ist ein weiterer wichtiger Unterschied zwischen der von Google bereitgestellten Navigation und der benutzerdefinierten Navigation. Anstatt die Navigation an den integrierten Ereignismanager des Navigations-SDK weiterzuleiten, aktivieren Sie den Feed mit detaillierten Wegbeschreibungen und implementieren Ereignishandler. So kann Ihre App auf die Ereignisse reagieren, die unter Auf Navigationsereignisse achten beschrieben sind.
Navigation beenden Wie bei der Google-Navigation müssen Sie auch bei der benutzerdefinierten Navigation die Navigation so beenden, wie es für die App am besten geeignet ist.
Wann könnten Sie eine benutzerdefinierte Navigation verwenden?
In der folgenden Tabelle werden einige benutzerdefinierte Navigationsszenarien beschrieben.
Beispiel |
Allgemeine Schritte |
---|---|
Für kleine Geräte wie Zweiräder müssen Sie nur Textanweisungen für Fahrer bereitstellen. |
Erstellen Sie Ihren Navigationsassistenten und richten Sie die Schritt-für-Schritt-Navigation als Datenfeed für ein Gerät mit kleinem Bildschirm ein, während der Navigationsassistent auf dem Smartphone des Fahrers außerhalb seines direkten Blickfelds ausgeführt wird. |
Sie möchten Ihre App als Autodienst für Fahrer verfügbar machen, die Android Auto verwenden. |
Weitere Informationen finden Sie unter Navigation für Android Auto aktivieren. |
Nutzer Ihrer App wünschen sich für den Großteil ihrer Fahrt eine Übersichtskarte mit nur minimaler detaillierter Routenführung für innerstädtische Straßen. |
Mit Ihrer App sollten Fahrer die Google Navigation nach Bedarf aufrufen und beenden können, ohne die Einstellungen für Ziel und Fahrtmodus des Navigationssystems ändern zu müssen. |