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 typów nawigacji dostępnych w pakiecie Navigation SDK.
Co to jest niestandardowa nawigacja?
Podstawowym sposobem implementacji pakietu Navigation SDK jest korzystanie z funkcji nawigacji Google, która umożliwia umieszczenie nawigacji zakręt po zakręcie z użyciem elementów interfejsu i wizualizacji udostępnionych przez Google. Jest ona podobna do funkcji nawigacji w aplikacjach Mapy Google. Jeśli potrzebujesz większej elastyczności niż ta, którą zapewnia nawigacja Google, możesz wdrożyć niestandardową nawigację. Niestandardowa nawigacja to wszystko, od całkowitego wyeliminowania wskazówek dotyczących skrętów i działania nawigacji tylko w tle do wyświetlania spersonalizowanych wskazówek na ekranie innym niż urządzenie, na którym działa nawigacja. W przypadku korzystania z niestandardowej nawigacji aplikacja wywołuje pakiet SDK nawigacji, aby poprosić o plik danych nawigacji z instrukcjami krok po kroku. Następnie udostępniasz elementy interfejsu użytkownika i wizualizacje, które widzi użytkownik podczas korzystania z nawigacji, oraz nimi zarządzasz. Korzystanie z nawigacji Google jest zazwyczaj łatwiejsze do wdrożenia, ale tworzenie własnej nawigacji niestandardowej pozwala na większą personalizację.
Gdy tworzysz niestandardową nawigację, aplikacja wywołuje Navigation SDK, aby rozpocząć, uruchomić i zatrzymać nawigację, korzystając z tego procesu:
Rozpocznij nawigację. Podobnie jak w przypadku nawigacji Google, nawigacja niestandardowa nadal wymaga utworzenia wystąpienia nawigacji i ustawienia miejsca docelowego. W przypadku niestandardowej nawigacji możesz to jednak osiągnąć, najpierw inicjując sesję nawigacji za pomocą obiektu
GMSNavigationService.createNavigationSession
, który jest obiektem niebędącym elementem interfejsu użytkownika, a który może działać z kontrolerem widoku lub bez niego.Więcej informacji znajdziesz w artykule o szczegółach dotyczących danych na potrzeby wskazówek nawigacyjnych.
Obejrzyj wersję demonstracyjną: pobieranie pakietu Navigation SDK zawiera wersję demonstracyjną, którą możesz uruchomić, aby zobaczyć przykład nawigacji, która przełącza się między wskazówkami dojazdu w ramach standardowej nawigacji a nawigacją, która pokazuje tylko lokalizację urządzenia poruszającego się po polilinii drogi.
Aktywna nawigacja. Oto kolejna kluczowa różnica między nawigacją oferowaną przez Google a nawigacją niestandardową. Zamiast przekazywać wskazówki domyślnemu menedżerowi zdarzeń w pakiecie SDK nawigacji, skonfiguruj detektor zdarzeń, aby wyświetlać szczegółowe wskazówki dojazdu, stosując protokół
GMSNavigatorListener
, a potem zaimplementuj przetwarzacze zdarzeń. Dzięki temu możesz reagować na zdarzenia opisane w artykule Wysłuchiwanie zdarzeń nawigacji.Zakończ nawigację. Podobnie jak w przypadku nawigacji Google, nawigacja niestandardowa wymaga również zakończenia nawigacji w sposób najbardziej odpowiedni dla aplikacji.
Kiedy warto korzystać z niestandardowej nawigacji?
W tabeli poniżej opisano kilka scenariuszy korzystania z niestandardowej nawigacji.
Przykładowy scenariusz |
Najważniejsze kroki |
---|---|
W przypadku małych urządzeń, takich jak pojazdy dwukołowe, musisz podać kierowcy instrukcje w postaci tekstu. |
Utwórz nawigację i skonfiguruj szczegółowe wskazówki jako dane przesyłane na urządzenie z małym ekranem, podczas gdy nawigacja działa na telefonie komórkowym kierowcy, którego nie widzi. |
Chcesz udostępnić aplikację jako usługę samochodową dla kierowców, którzy korzystają z Apple CarPlay. |
Więcej informacji znajdziesz w artykule Włączanie nawigacji w CarPlay. |
Kierowcy korzystający z Twojej aplikacji chcą mieć mapę ogólną na większość swojej podróży, a na ulicach w mieście chcą tylko minimalnych wskazówek zakręt po zakręcie. |
Aplikacja powinna umożliwiać kierowcom korzystanie z nawigacji Google w dowolnym momencie, bez konieczności zmiany ustawień celu i trybu podróży. |