Pakiet Navigation SDK udostępnia różne sposoby integrowania funkcji nawigacji z aplikacją. Na tej stronie wyjaśniamy, czym jest niestandardowa funkcja nawigacji i jak różni się od innych funkcji nawigacji dostępnych w pakiecie Navigation SDK.
Czym jest niestandardowy sposób nawigacji?
Głównym sposobem implementacji pakietu Navigation SDK jest korzystanie z nawigacji Google, która umożliwia osadzanie nawigacji zakręt po zakręcie korzystającej z elementów interfejsu i wizualizacji dostarczonych przez Google – podobnie jak w aplikacjach Mapy Google. Jeśli potrzebujesz większej elastyczności niż ta, którą zapewnia nawigacja Google, możesz wdrożyć niestandardową nawigację. Niestandardowe korzystanie z nawigacji może polegać na całkowitym wyeliminowaniu wskazówek dotyczących skręcania i uruchamianiu nawigacji tylko w tle lub na wyświetlaniu wysoce spersonalizowanych wskazówek na ekranie innym niż urządzenie, na którym działa nawigacja. W przypadku niestandardowej nawigacji aplikacja wywołuje pakiet SDK nawigacji, aby poprosić o informacje o nawigacji krok po kroku, a następnie udostępnia i zarządza elementami interfejsu i wizualizacjami, które użytkownik widzi podczas nawigacji. Korzystanie z nawigacji Google jest zwykle łatwiejsze do wdrożenia, ale tworzenie własnej nawigacji niestandardowej daje większe możliwości personalizacji.
Gdy tworzysz niestandardowe środowisko nawigacji, Twoja aplikacja wywołuje pakiet Navigation SDK, aby rozpocząć, uruchomić i zatrzymać nawigację, korzystając z tego procesu:
Rozpocznij nawigację. Podobnie jak w przypadku nawigacji Google, niestandardowa nawigacja wymaga utworzenia instancji nawigacji i ustawienia miejsca docelowego. W przypadku dostosowanej nawigacji możesz to osiągnąć, najpierw ustanawiając sesję nawigacji za pomocą
GMSNavigationService.createNavigationSession
, czyli obiektu bez interfejsu, który przechowuje stan i może działać z kontrolerem widoku lub bez niego.Więcej informacji znajdziesz w artykule o szczegółach pliku danych z informacjami o nawigacji krok po kroku.
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ą pokazującą tylko lokalizację urządzenia poruszającego się po polilinii drogi.
Aktywna nawigacja Oto kolejna kluczowa różnica między nawigacją dostarczaną przez Google a nawigacją niestandardową. Zamiast przekazywać wskazówki do wbudowanego menedżera zdarzeń pakietu SDK do nawigacji, skonfiguruj detektor szczegółowych wskazówek krok po kroku, implementując protokół
GMSNavigatorListener
, a następnie zaimplementuj obsługę zdarzeń. Dzięki temu Twoja aplikacja będzie mogła reagować na zdarzenia opisane w sekcji Nasłuchiwanie zdarzeń nawigacji.Zakończ nawigację. Podobnie jak w przypadku nawigacji Google, nawigacja niestandardowa również wymaga zakończenia nawigacji w sposób najlepiej dopasowany do działania aplikacji.
Kiedy warto skorzystać z niestandardowej nawigacji?
W tabeli poniżej opisujemy niektóre scenariusze nawigacji niestandardowej.
Przykład |
Najważniejsze kroki |
---|---|
W przypadku małych urządzeń, takich jak pojazdy dwukołowe, musisz podać wskazówki dla kierowcy w formie tekstowej. |
Utwórz nawigatora i skonfiguruj szczegółowe wskazówki jako plik danych na małym ekranie, podczas gdy nawigator będzie działać na telefonie komórkowym kierowcy poza jego bezpośrednim polem widzenia. |
Chcesz udostępnić aplikację jako usługę samochodową dla kierowców korzystających z Apple CarPlay. |
Więcej informacji znajdziesz w artykule Włączanie nawigacji w CarPlay. |
Kierowcy korzystający z Twojej aplikacji chcą mieć mapę z podglądem trasy przez większość podróży, a tylko minimalne wskazówki dojazdu na ulicach miast. |
Aplikacja powinna umożliwiać kierowcom wchodzenie do nawigacji Google i wychodzenie z niej w dowolnym momencie bez zmiany ustawień nawigatora dotyczących miejsca docelowego i trybu podróży. |