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ż 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 nawigację 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ększą personalizację.

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ąć spersonalizowaną nawigację, utwórz instancję nawigacji i ustaw cel. Pobierz instancję Navigatora za pomocą NavigationApi.getNavigator, a następnie zarejestruj się, aby otrzymywać aktualizacje, za pomocą navigator.registerServiceForNavUpdates.

    Więcej informacji znajdziesz w artykule Włączanie kanału danych nawigacji krok po kroku feed.

    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, włączasz kanał nawigacji krok po kroku i implementujesz 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 również zakończenia nawigacji w sposób najlepiej dopasowany do działania aplikacji.

Kiedy można używać niestandardowej nawigacji?

W tabeli poniżej znajdziesz opis niektórych scenariuszy niestandardowej nawigacji.

Przykładowy scenariusz

Ogólne kroki

Musisz udostępnić kierowcy wskazówki tekstowe na małych urządzeniach, takich jak pojazdy dwukołowe.

Utwórz nawigatora i skonfiguruj nawigację krok po kroku jako kanał danych na małym ekranie, 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 Androida Auto.

  1. Skonfiguruj usługę samochodową.
  2. Skonfiguruj projekt pakietu Navigation SDK.
  3. Utwórz nawigatora, jeśli jeszcze go nie masz.
  4. Włącz kanał 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 Androidzie Auto.

Kierowcy korzystający z Twojej aplikacji chcą mieć mapę ogólną przez większość swojej podróży, a tylko minimalne wskazówki dotyczące skręcania na ulicach miasta.

Twoja aplikacja powinna umożliwiać kierowcom wchodzenie do nawigacji Google i wychodzenie z niej w razie potrzeby bez zmiany ustawień nawigatora dotyczących celu i trybu podróży.