Niestandardowa nawigacja

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:

  1. 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.

  2. 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 .

  3. 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.

  1. Skonfiguruj usługę samochodową.
  2. Skonfiguruj projekt pakietu Navigation SDK.
  3. Jeśli jeszcze tego nie zrobisz, skonfiguruj nawigatora.
  4. Skonfiguruj odbiornik nawigacji krok po kroku.
  5. Narysuj mapę na powierzchni aplikacji samochodowej i wypełnij pola danymi z skonfigurowanego kanału danych.

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.