Niestandardowa nawigacja

Navigation SDK umożliwia integrację nawigacji z aplikacją na różne sposoby. Na tej stronie wyjaśniamy, czym jest niestandardowa nawigacja i czym różni się od innych opcji nawigacji dostępnych w Navigation SDK.

Czym jest niestandardowa nawigacja?

Podstawowym sposobem wdrożenia pakietu Navigation SDK jest użycie nawigacji Google, która umożliwia umieszczenie szczegółowych wskazówek dojazdu z wykorzystaniem elementów interfejsu i grafiki dostarczonych przez Google – podobnie jak w przypadku nawigacji w aplikacjach Map Google. Jeśli potrzebujesz większej elastyczności niż ta, którą oferuje nawigacja Google, możesz wdrożyć niestandardową nawigację. Niestandardowa nawigacja może obejmować zarówno całkowite wyeliminowanie wskazówek dotyczących skrętu i uruchamianie nawigacji tylko jako procesu w tle, jak i wyświetlanie wysoce spersonalizowanych wskazówek na ekranie oddzielnym od urządzenia, na którym działa nawigacja. W przypadku niestandardowej nawigacji aplikacja wywołuje pakiet Navigation SDK, aby poprosić o szczegółowe wskazówki dojazdu, a następnie udostępnia elementy interfejsu i elementy wizualne, które użytkownik widzi podczas nawigacji, oraz nimi zarządza. Chociaż korzystanie z nawigacji Google jest zwykle łatwiejsze do wdrożenia, utworzenie 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ąć spersonalizowaną nawigację, utwórz instancję nawigacji i ustaw miejsce docelowe. Nawiąż sesję nawigacji za pomocą GMSNavigationService.createNavigationSession. Ten obiekt bez interfejsu użytkownika, który zawiera stan, działa z kontrolerem widoku lub bez niego.

    Więcej informacji znajdziesz w artykule Szczegółowe informacje o pliku danych ze szczegółowymi wskazówkami dojazdu.

    Zobacz wersję demonstracyjną: pakiet Navigation SDK zawiera wersję demonstracyjną, którą możesz uruchomić, aby zobaczyć przykład nawigacji, która przełącza się między szczegółowymi wskazówkami dojazdu w standardowej nawigacji a nawigacją, która pokazuje tylko lokalizację urządzenia poruszającego się po polilinii drogi.

  2. Aktywna nawigacja. Oto kolejna kluczowa różnica między nawigacją Google a niestandardową. Zamiast przekazywać wskazówki do wbudowanego menedżera zdarzeń pakietu Navigation SDK, skonfiguruj detektor szczegółowych wskazówek dojazdu, implementując protokół GMSNavigatorListener, a następnie zaimplementuj moduły obsługi zdarzeń. Dzięki temu Twoja aplikacja może reagować na zdarzenia opisane w sekcji Nasłuchiwanie zdarzeń nawigacji.

  3. Zakończ nawigację. Podobnie jak w przypadku nawigacji Google, niestandardowa nawigacja wymaga również zakończenia nawigacji w sposób najlepiej dostosowany do działania aplikacji.

Kiedy można używać niestandardowej nawigacji?

W tabeli poniżej opisano kilka scenariuszy nawigacji niestandardowej.

Przykładowy scenariusz

Najważniejsze kroki

W przypadku małych urządzeń, np. pojazdów dwukołowych, musisz podać wskazówki dla kierowcy w formie tekstowej.

Utwórz nawigatora i skonfiguruj szczegółowe wskazówki dojazdu jako plik danych na urządzeniu z małym ekranem, podczas gdy nawigator działa na telefonie komórkowym kierowcy poza jego bezpośrednim widokiem.

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 Navigation SDK.
  3. Jeśli nie masz jeszcze nawigatora, skonfiguruj go.
  4. Skonfiguruj detektor szczegółowych wskazówek dojazdu.
  5. Narysuj mapę na powierzchni aplikacji samochodowej i wypełnij pola danymi ze skonfigurowanego pliku danych.

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

Kierowcy korzystający z Twojej aplikacji chcą mieć przez większość podróży mapę ogólną, a na ulicach miast – tylko minimalne szczegółowe wskazówki dojazdu.

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