Pakiet Navigation SDK udostępnia różne sposoby integracji nawigacji z aplikacją. Na tej stronie wyjaśniamy, czym jest niestandardowa nawigacja i czym różni się od innych nawigacji dostępnych w pakiecie Navigation SDK.
Czym jest niestandardowa nawigacja?
Głównym sposobem implementacji pakietu Navigation SDK jest korzystanie z nawigacji Google , która umożliwia osadzanie nawigacji krok po kroku korzystającej z elementów interfejsu i elementów wizualnych dostarczonych przez Google – podobnie jak w przypadku nawigacji w aplikacjach Mapy Google. Jeśli potrzebujesz większej elastyczności niż ta, którą oferuje nawigacja Google, możesz zaimplementować niestandardową nawigację. Niestandardowa nawigacja może obejmować wszystko – od całkowitego wyeliminowania wskazówek dotyczących skręcania i uruchamiania nawigacji tylko jako procesu w tle po wyświetlanie wysoce spersonalizowanych wskazówek na ekranie innym niż urządzenie, na którym działa nawigacja. W przypadku niestandardowej nawigacji aplikacja wywołuje pakiet Navigation SDK, aby poprosić o kanał nawigacji krok po kroku, a następnie udostępnia i zarządza elementami interfejsu i elementami wizualnymi, które użytkownik widzi podczas nawigacji. Korzystanie z nawigacji Google jest na ogół łatwiejsze do wdrożenia, ale tworzenie własnej niestandardowej nawigacji pozwala na większe dostosowanie.
Gdy tworzysz niestandardową nawigację, aplikacja wywołuje pakiet Navigation SDK, aby rozpocząć, uruchomić i zatrzymać nawigację, korzystając z tego procesu:
Rozpocznij nawigację. Aby rozpocząć dostosowaną nawigację, utwórz instancję nawigacji i ustaw cel. Ustanów sesję nawigacji za pomocą
GMSNavigationService.createNavigationSession. Ten obiekt bez interfejsu użytkownika, który przechowuje stan, działa z kontrolerem widoku lub bez niego.Więcej informacji znajdziesz w artykule Szczegóły dotyczące kanału danych nawigacji krok po kroku.
Zobacz wersję demonstracyjną: pobrany pakiet Navigation SDK zawiera wersję demonstracyjną, którą możesz uruchomić, aby zobaczyć przykład nawigacji, która przełącza się między szczegółową nawigacją za pomocą standardowej nawigacji a nawigacją, która pokazuje tylko lokalizację urządzenia poruszającego się po linii łamanej drogi.
Aktywna nawigacja. Oto kolejna kluczowa różnica między nawigacją dostarczoną przez Google a nawigacją niestandardową. Zamiast przekazywać wskazówki do wbudowanego menedżera zdarzeń pakietu Navigation SDK, skonfiguruj odbiornik szczegółowych wskazówek krok po kroku, implementując protokół
GMSNavigatorListener, a następnie zaimplementuj obsługę zdarzeń. Dzięki temu Twoja nawigacja może reagować na zdarzenia opisane w artykule Nasłuchiwanie zdarzeń nawigacji .Zakończ nawigację. Podobnie jak w przypadku nawigacji Google, nawigacja niestandardowa wymaga też zakończenia nawigacji w sposób najlepiej dopasowany do aplikacji.
Kiedy można używać niestandardowej nawigacji?
W tabeli poniżej opisujemy kilka scenariuszy niestandardowej nawigacji.
Przykład |
Najważniejsze kroki |
|---|---|
Musisz udostępnić kierowcy wskazówki tekstowe na małych urządzeniach, takich jak pojazdy dwukołowe. |
Utwórz nawigatora i skonfiguruj szczegółowe wskazówki dojazdu jako plik danych na małym ekranie urządzenia, podczas gdy nawigator działa na telefonie komórkowym kierowcy poza jego bezpośrednim zasięgiem wzroku. |
Chcesz udostępnić swoją aplikację jako usługę samochodową dla kierowców, którzy korzystają z Apple CarPlay. |
Więcej informacji znajdziesz w artykule Włączanie nawigacji w CarPlay. |
Kierowcy korzystający z Twojej aplikacji chcą mieć mapę ogólną przez większość swojej podróży, a tylko minimalne wskazówki krok po kroku na ulicach miasta. |
Twoja aplikacja powinna umożliwiać kierowcom wchodzenie i wychodzenie z nawigacji Google w razie potrzeby bez zmiany ustawień nawigatora dotyczących celu i trybu podróży. |