Niestandardowa nawigacja

Pakiet Navigation SDK oferuje różne sposoby integracji nawigacji z aplikacją. Na tej stronie wyjaśniamy, czym jest niestandardowa nawigacja i czym różni się od innych opcji nawigacyjnych, które są dostępne w pakiecie SDK nawigacji.

Czym jest niestandardowa nawigacja?

Podstawowym sposobem wdrożenia pakietu Navigation SDK jest użycie interfejsu nawigacji Google. Umożliwia on umieszczanie szczegółowych wskazówek dojazdu użytkownika i elementów interfejsu dostarczonych przez Google, podobnych do funkcji nawigacji w aplikacjach Map Google. Jeśli potrzebujesz większej elastyczności niż opcje nawigacji Google, możesz wdrożyć niestandardową nawigację. Spersonalizowana nawigacja to m.in. usuwanie wskazówek skrętu z uruchamianiem nawigacji tylko w tle, wyświetlanie wysoce spersonalizowanych wskazówek na ekran urządzenia oddzielonego od urządzenia, na którym odbywa się nawigacja. Dzięki niestandardowym funkcjom nawigacji Twoja aplikacja wywołuje pakiet SDK Navigation, aby zażądać kanału nawigacji zakręt po zakręcie. Następnie dostarczasz elementy interfejsu i elementy wizualne, które użytkownik widzi w obszarze nawigacji, oraz nimi zarządzasz. Wdrożenie nawigacji w Google jest zwykle łatwiejsze, ale utworzenie własnego interfejsu pozwala lepiej ją dostosować.

Gdy tworzysz niestandardowe środowisko nawigacji, aplikacja wywołuje pakiet SDK Navigation, aby uruchomić, uruchomić i zatrzymać nawigację, korzystając z następującego procesu:

  1. Rozpocznij nawigację Podobnie jak w przypadku nawigacji Google, niestandardowa nawigacja nadal obejmuje utworzenie instancji nawigacji i ustalenie miejsca docelowego. Jednak w przypadku niestandardowych funkcji nawigacji możesz to osiągnąć, tworząc sesję nawigacji przy użyciu GMSNavigationService.createNavigationSession, czyli obiektu niepowiązanego z interfejsem, który może działać zarówno z kontrolerem widoku, jak i bez niego.

    Więcej informacji znajdziesz w artykule Włączanie szczegółowego pliku danych.

    Zobacz prezentację: w pobranym pakiecie SDK do nawigacji znajdziesz wersję demonstracyjną, którą możesz uruchomić, by zobaczyć przykład działania nawigacji, która przełącza się między trybem standardowej nawigacji a szczegółową nawigacją pokazującą tylko lokalizację urządzenia poruszającego się wzdłuż drogi łamanej.

  2. Aktywna nawigacja. Oto kolejna kluczowa różnica między interfejsem nawigacyjnym udostępnianym przez Google a niestandardową. Zamiast przekazywać wskazówki wbudowanemu menedżerowi zdarzeń pakietu Navigation SDK, możesz włączyć szczegółowy kanał i wdrożyć moduły obsługi zdarzeń. Umożliwia to reagowanie na zdarzenia opisane w sekcji Nasłuchiwanie zdarzeń nawigacji.

  3. Zakończ nawigację. Podobnie jak w przypadku nawigacji niestandardowej Google, korzystanie z nawigacji niestandardowej wymaga zakończenia nawigacji w sposób najlepiej dostosowany do sposobu korzystania z aplikacji.

Kiedy możesz skorzystać z własnej nawigacji?

W tabeli poniżej opisano niektóre scenariusze niestandardowych nawigacji.

Przykład

Kroki wysokiego poziomu

W przypadku małych urządzeń, takich jak pojazdy dwukołowe, musisz przekazywać kierowcom tylko tekstowe wskazówki.

Utwórz nawigację zakręt po zakręcie i skonfiguruj wskazówki zakręt po zakręcie jako plik danych przesyłanych na urządzenie z małym ekranem, gdy nawigacja będzie działać na telefonie komórkowym kierowcy poza jego bezpośrednim widokiem.

Chcesz udostępnić swoją aplikację jako usługę samochodową kierowcom korzystającym z Androida Auto

  1. Skonfiguruj usługę samochodu.
  2. Skonfiguruj projekt pakietu Navigation SDK.
  3. Stwórz nawigator, jeśli jeszcze nie zostało to zrobione.
  4. Włącz źródło wskazówek zakręt po zakręcie.
  5. Narysuj mapę na platformie aplikacji automatycznej i wypełnij pola ze skonfigurowanego pliku danych.

Więcej informacji znajdziesz w artykule Włączanie nawigacji w Androidzie Auto.

Kierowcy korzystający z Twojej aplikacji potrzebują mapy ogólnej przez większość swojej podróży i minimalnego szczegółowego opisu ulic w mieście.

Aplikacja powinna umożliwiać kierowcom włączanie i wyłączanie nawigacji Google w razie potrzeby bez konieczności zmieniania ustawień nawigacji dotyczących miejsca docelowego i trybu podróży.