Najczęstsze pytania

Szczegóły usługi

Sieć i połączenia

Dane

Dostosowywanie interfejsu

Routing

Symulator

Przepływy pracy

Usługi mobilności

Szczegóły usługi

Aplikacja musi wyświetlać okno z Warunkami korzystania z Navigation SDK, które każdy użytkownik musi zaakceptować. W tym oknie użytkownik może zaakceptować Warunki korzystania z usługi. Plik tekstowy z warunkami jest dołączony do pakietu Navigation SDK. Aby wyświetlić okno z warunkami, użyj metody NavigationApi.showTermsAndConditionsDialog.
Wszystkie języki obsługiwane przez Mapy Google na komórki są automatycznie dostępne w pakiecie Navigation SDK. Urządzenie ma domyślny język systemu, którego aplikacja nie może zmienić. Aplikacja ma jednak dostęp do ponad 70 języków.

Tak. Po uruchomieniu LocationListener nadal działa w tle. Aplikacja nadal przyciąga pozycję do drogi i utrzymuje kierunek.

Tak. Gdy trasa zostanie utworzona lub zmieniona, RouteChangeListener udostępnia linie łamane.

Nie, pakiet Navigation SDK nie wymaga zainstalowania Map Google na urządzeniu mobilnym.
Nie, pakiet Navigation SDK nie udostępnia obecnie tej funkcji.
Tak. Kierunek ruchu jest dostępny i wyświetlany domyślnie.
Które wersje JDK obsługuje pakiet Navigation SDK?
Pakiet Navigation SDK obsługuje wersje LTS Javy SE, które są aktywnie obsługiwane przez Oracle. Te wersje są wymienione jako objęte pomocą Premium w harmonogramie pomocy Oracle Java SE.

Sieć i połączenia

Jak pakiet Navigation SDK radzi sobie ze słabym połączeniem sieciowym?
Pakiet Navigation SDK wstępnie zapisuje w pamięci podręcznej trasę każdej podróży. Wstępnie zapisane informacje obejmują informacje o trasie na 15–20 minut oraz alternatywne trasy na wypadek, gdyby użytkownik zboczył z trasy. Pakiet Navigation SDK określa przybliżoną pozycję za pomocą GPS-a i czujników urządzenia.
Jak pakiet Navigation SDK radzi sobie ze słabym lub utraconym sygnałem GPS?

Po rozpoczęciu nawigacji i odebraniu przez pakiet Navigation SDK sygnału GPS co najmniej raz, w tych sytuacjach wyświetli się komunikat „Szukam GPS…”:

  • jeśli od ostatniego odebrania sygnału GPS minęło więcej niż 10 sekund;
  • Jeśli pozycja trasy zmieniła się o ponad 500 m od czasu ostatniego odebrania sygnału GPS.

Jeśli pakiet SDK nie otrzyma sygnału GPS przez dłuższy czas, postęp na trasie, wskazywany w aplikacji przez pozycję strzałki, może zwolnić, aż do całkowitego zatrzymania. W takim przypadku strzałka na mapie pozostanie w miejscu wskazanym przez ostatni sygnał GPS. Pakiet SDK nie wyjdzie automatycznie z trybu nawigacji, jeśli nie otrzyma sygnału GPS. Może jednak nie być w stanie podawać wskazówek, dopóki nie odzyska sygnału.

Czy jest dostępny tryb offline?
Nie, pakiet Navigation SDK nie oferuje obecnie trybu offline, ale udostępnia wstępnie buforowane informacje o podróży.

Dane

Czy mogę pobrać wszystkie przystanki/miejsca docelowe na trasie przed rozpoczęciem podróży?

Tak. Aby pobrać wskazówki dojazdu, wywołaj Navigator.getRouteSegments().

Czy szczegółowe wskazówki dojazdu są dostępne na początku trasy?
Tak. Pakiet Navigation SDK udostępnia listę segmentów trasy. Dodatkowo użytkownik może przesuwać palcem po karcie wskazówek w nagłówku, aby zobaczyć każdy manewr.
Jak szacowany czas dotarcia na miejsce jest przekazywany użytkownikom aplikacji?

Aby przekazywać użytkownikom aplikacji informacje o szacowanym czasie dotarcia na miejsce:

  1. Pobierz czas i odległość dla wszystkich punktów pośrednich za pomocą Navigator.getTimeAndDistanceList().
  2. Przekaż te informacje do aplikacji klienckiej, tak jak w przypadku szacowanego czasu dotarcia kierowcy na miejsce.
Czy można użyć RoadSnappedLocationProvider do uzyskania bieżącej lokalizacji użytkownika, jeśli nawigacja nie jest na pierwszym planie?

Tak. RoadSnappedLocationProvider domyślnie działa w tle.

Czy Navigation SDK obsługuje geofencing?

Nie. W kontekście nawigacji remainingTimeOrdistanceChangeListener ma przewagę nad geofence. Geofence może nie uwzględniać geometrii drogi i może nie być wyśrodkowany na dokładnym punkcie, do którego użytkownik nawiguje.

Możesz uzyskać podobny efekt, używając remainingTimeOrdistanceChangeListener.

  1. Ustaw próg, aby określić częstotliwość wywołań zwrotnych.
  2. Sprawdź pozostałą odległość do celu.

Jeśli na przykład ustawisz próg na 100 m, otrzymasz wywołanie zwrotne, gdy odległość do miejsca docelowego zmieni się o 100 m. W miarę zmniejszania się odległości możesz zmniejszać ten próg i otrzymywać częstsze wywołania zwrotne. Następnie sprawdź pozostałą odległość, aby określić, czy jesteś wystarczająco blisko miejsca odbioru lub zwrotu.

Czy mogę wyłączyć powiadomienia, gdy aplikacja Nawigacja działa w tle?

Tak. Aby zarządzać powiadomieniami, użyj Navigator.setHeadsUpNotificationEnabled. Ta metoda ma argument logiczny. FALSE wyłącza powiadomienia, a TRUE je włącza.

Rejestrator transakcji śledzi odbiory i zwroty za pomocą unikalnego identyfikatora, który Google rejestruje na potrzeby analizy produktów. Jeśli jesteś klientem Mobility Services, Google zaleca wdrożenie NavigationTransactionRecorder w celu rejestrowania transakcji.

Dostosowywanie interfejsu

Czy mogę oznaczyć najlepszą trasę kolorem?
Nie. Obecnie nie można oznaczać kolorami konkretnych opcji trasy.
Czy pakiet Navigation SDK może wyświetlać szacowany czas dotarcia do miejsca docelowego?

Tak. Użyj tych metod:

  1. Pobierz czas i odległość dla wszystkich punktów pośrednich za pomocą Navigator.getTimeAndDistanceList().
  2. Ukryj szacowany czas dotarcia do bieżącego punktu orientacyjnego za pomocą NavigationFragment.setEtaCardEnabled(false).
  3. Wyświetl szacowany czas dotarcia do miejsca docelowego.
Jak ukryć aktualizacje szacowanego czasu dotarcia na miejsce?

Karty z szacowanym czasem dotarcia na miejsce możesz wyłączyć, wywołując metodę navigationView.setEtaCardEnabled(false).

Jakie dostosowania interfejsu są dostępne w przypadku kart nagłówka i stopki?

Użyj StylingOptions, aby ustawić styl koloru tła. Aby ukryć lub wyświetlić nagłówek i stopkę, użyj funkcji składowych setHeaderEnabled i setFooterEnabled klasy NavigationFragment.

Routing

Czy mogę podać użytkownikowi konkretną trasę lub usunąć trasy alternatywne?
Nie. Domyślnie dostępnych jest kilka tras, a najszybsza ma priorytet. Możesz wpłynąć na domyślną trasę, dodając do żądania preferencje, takie jak „unikaj autostrad i opłat”. Dodanie punktów pośrednich również wpływa na trasę.
Czy mogę wyświetlić użytkownikowi aplikacji inną etykietę miejsca docelowego niż domyślna lokalizacja miejsca docelowego?

Tak. Utwórz Marker z niestandardowym tytułem miejsca docelowego oraz szerokością i długością geograficzną. Pakiet Navigation SDK wyświetla niestandardowy tytuł i współrzędne na ekranie NavigationMap.

Czy mogę używać pakietu Navigation SDK do śledzenia odchyleń od zdefiniowanej ścieżki?

Tak. Użyj Navigator.setRouteChangedListener, aby otrzymywać powiadomienia o zmianie trasy lub zaleceniu nowej trasy:

  1. Zarejestruj detektor, który sprawdza pozycję urządzenia na trasie, używając metody Navigator.setRouteChangedListener.
  2. Dodaj kod do modułu obsługi zdarzeń wywołania zwrotnego onRouteChanged:
    • wysyłać wiadomości do użytkownika aplikacji z aktualnymi informacjami o szacowanym czasie dotarcia na miejsce i odległości.
    • śledzić lokalizację urządzenia;
    • [Opcjonalnie] Dodaj inne funkcje wymagane przez aplikację, aby obsługiwać sytuacje, gdy użytkownik zboczy z wyznaczonej trasy.
Czy użytkownik może wyjść z nawigacji bez pokonywania trasy?

Tak. Aby zatrzymać nawigację, wywołaj metodę Navigator.stopGuidance.

Czy pakiet Navigation SDK obsługuje wyznaczanie tras i nawigację dla ciężarówek i dużych pojazdów?

Tak. Dzięki wyznaczaniu tras dla dużych pojazdów możesz przekazywać do pakietu Navigation SDK tokeny tras dla ciężarówek wygenerowane przez interfejs Routes API lub Route Optimization API. Pakiet SDK zapewnia szczegółowe wskazówki dojazdu z objaśnieniami trasy (wysokość, waga, materiały niebezpieczne i ograniczenia dotyczące ciężarówek) oraz utrzymuje profil fizyczny pojazdu podczas dynamicznego wyznaczania trasy. Szczegółowe informacje znajdziesz w artykule Nawigacja po trasach dla dużych pojazdów.

Symulator

Czy symulator obsługuje zmiany trasy?

Tak. Wywołaj simulateLocationsAlongNewRoute, aby zasymulować podróż, która obejmuje zmianę trasy. Metoda simulateLocationsAlongExistingRoute ignoruje zmiany w istniejącej trasie.

Przepływy pracy

Jak odrzucić powiadomienie po zamknięciu aktywności zawierającej fragment nawigacji?

Powiadomienie o nawigacji pozostaje widoczne podczas nawigacji, gdy aktywność jest zamknięta. Gdy pojazd dotrze do celu, nawigacja się zatrzyma, a powiadomienie zniknie.

Aby obsługiwać kliknięcia powiadomienia, użyj Navigator.startGuidance(intent resumeIntent). Zdarzenie resume intent jest wywoływane, gdy użytkownik aplikacji kliknie powiadomienie. Zwykle Navigator.startguidance(getIntent()) jest wywoływany z głównej aktywności, która przywołuje aktywność, gdy użytkownik aplikacji kliknie powiadomienie.

Usługi mobilności

Czym różni się korzystanie z pakietu Navigation SDK w przypadku klientów Mobility Services?

Usługi Google Maps Platform Mobility obejmują zestaw interfejsów API i pakietów SDK, które pomagają zaspokajać potrzeby firm transportowych i logistycznych. W przypadku klientów korzystających z usług mobilności pakiet Navigation SDK jest zwykle używany w połączeniu z powiązanymi usługami, takimi jak optymalizacja trasy, wysyłka, element śledzenia zadań, analiza floty itp. W przypadku klientów korzystających z usług mobilności pakiet Navigation SDK jest też rozliczany inaczej. Więcej informacji znajdziesz w dokumentacji usług mobilności.

Usługi mobilności są obecnie dostępne tylko dla wybranych klientów. Aby uzyskać więcej informacji, skontaktuj się z przedstawicielem handlowym.

Jak sprawdzić, czy jestem klientem Mobility Services?
Jeśli nie masz pewności, czy obecnie wdrażasz pakiet Navigation SDK jako klient usług mobilności, poszukaj w kodzie wywołania ReportBillableEvent. Metodę ReportBillableEvent powinni wywoływać tylko klienci Mobility Services.

Jak rozliczane jest korzystanie z pakietu Navigation SDK w przypadku klientów korzystających z usług mobilności?
W przypadku klientów korzystających z usług mobilności rozliczenia i ceny pakietu Navigation SDK zależą od umowy o świadczenie usług zawartej z Google Maps Platform. Informacje o tym, jak sprawdzić, czy implementacja usług mobilności jest prawidłowo rozliczana, znajdziesz w artykule Weryfikacja płatności. Aby uzyskać więcej informacji o rozliczeniach za usługi mobilności, skontaktuj się z przedstawicielem handlowym.

Które interfejsy Navigation SDK API powinny być używane tylko przez klientów Mobility Services?

W pakiecie Navigation SDK jest kilka interfejsów API, które są przeznaczone tylko dla klientów Mobility Services rozliczanych przez Google na podstawie transakcji. Jeśli nie jesteś klientem Mobility Services, te metody nie będą działać:

Czy jako klient Mobility Services mogę też korzystać z implementacji pakietu Navigation SDK, która nie jest przeznaczona dla Mobility Services?

Tak, klienci korzystający z usług mobilnych mogą używać zarówno implementacji Navigation SDK w usługach mobilnych, jak i implementacji Navigation SDK poza usługami mobilnymi. W aplikacji możesz jednak używać tylko jednego typu implementacji naraz. Musisz też utworzyć nowy projekt w chmurze Google, konto rozliczeniowe i klucz interfejsu API, które będą oddzielone od tych, których używasz w ramach implementacji usług mobilności. Więcej informacji znajdziesz w omówieniu konfiguracji pakietu Navigation SDK.

Aby dowiedzieć się więcej o korzystaniu z implementacji pakietu Navigation SDK bez Mobility Services, w tym o migracji aplikacji z jednego typu implementacji do drugiego, skontaktuj się z opiekunem klienta w Google.

Uwaga: jeśli nie jesteś obecnie klientem Mobility Services i chcesz dowiedzieć się więcej o kolekcji interfejsów API i pakietów SDK Mobility Services, skontaktuj się z zespołem sprzedaży Google Maps Platform.