Najczęstsze pytania
Szczegóły usługi
- Jak należy wyświetlać powiadomienie o Warunkach korzystania z pakietu Navigation SDK?
- W jakich językach są dostępne wskazówki głosowe?
- Czy kierunek jest zachowywany, gdy użytkownik wychodzi z trybu nawigacji?
- Czy linie łamane są dostępne podczas rozpoczynania lub zmieniania trasy?
- Czy użytkownicy aplikacji muszą mieć zainstalowane Mapy Google na urządzeniu mobilnym?
- Czy Navigation SDK może identyfikować parkingi w pobliżu restauracji i innych miejsc docelowych?
- Czy pakiet Navigation SDK pokazuje kierunek ruchu na pasach, gdy zbliżam się do punktu skrętu?
- Które wersje JDK obsługuje pakiet Navigation SDK?
Sieć i połączenia
- Jak pakiet SDK do nawigacji radzi sobie ze słabym połączeniem sieciowym?
- Jak pakiet Navigation SDK radzi sobie ze słabym lub utraconym sygnałem GPS?
- Czy jest dostępny tryb offline?
Dane
- Czy mogę pobrać wszystkie przystanki i miejsca docelowe na trasie przed rozpoczęciem podróży?
- Czy szczegółowe wskazówki dojazdu są dostępne na początku trasy?
- W jaki sposób szacowany czas dotarcia na miejsce jest przekazywany użytkownikom aplikacji?
- Czy można użyć
RoadSnappedLocationProvider, aby uzyskać bieżącą lokalizację użytkownika, jeśli nawigacja nie jest na pierwszym planie? - Czy pakiet Navigation SDK obsługuje geofencing?
- Czy mogę wyłączyć powiadomienia, gdy aplikacja do nawigacji działa w tle?
- Jak wyświetlić dziennik transakcji przechowywany przez Google?
Dostosowywanie interfejsu
- Czy mogę oznaczyć najlepszą trasę kolorem?
- Czy pakiet Navigation SDK może wyświetlać szacowany czas dotarcia do miejsca docelowego?
- Jak mogę ukryć aktualizacje szacowanego czasu dotarcia na miejsce?
- Jakie opcje dostosowywania interfejsu są dostępne w przypadku kart nagłówka i stopki?
Routing
- Czy mogę podać użytkownikowi konkretną trasę lub usunąć trasy alternatywne?
- Czy mogę wyświetlić użytkownikowi inną etykietę miejsca docelowego niż domyślna lokalizacja miejsca docelowego?
- Czy mogę używać pakietu Navigation SDK do śledzenia odchyleń od zdefiniowanej ścieżki?
- Czy użytkownik może wyjść z nawigacji bez ukończenia trasy?
- Czy pakiet Navigation SDK obsługuje wyznaczanie tras i nawigację dla ciężarówek i dużych pojazdów?
Symulator
Przepływy pracy
Usługi mobilności
- Czym różni się korzystanie z Navigation SDK w przypadku klientów Mobility Services?
- Jak mogę sprawdzić, czy jestem klientem Mobility Services?
- Jak rozliczane jest korzystanie z pakietu Navigation SDK w przypadku klientów usług mobilności?
- Które interfejsy API Navigation SDK powinny być używane tylko przez klientów Mobility Services?
- Jeśli jestem klientem Mobility Services, czy mogę też używać implementacji pakietu Navigation SDK, która nie jest przeznaczona dla Mobility Services?
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
LocationListenernadal działa w tle. Aplikacja nadal przyciąga pozycję do drogi i utrzymuje kierunek. -
Tak. Gdy trasa zostanie utworzona lub zmieniona,
RouteChangeListenerudostę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:
- Pobierz czas i odległość dla wszystkich punktów pośrednich za pomocą
Navigator.getTimeAndDistanceList(). - Przekaż te informacje do aplikacji klienckiej, tak jak w przypadku szacowanego czasu dotarcia kierowcy na miejsce.
- Pobierz czas i odległość dla wszystkich punktów pośrednich za pomocą
-
Czy można użyć
RoadSnappedLocationProviderdo uzyskania bieżącej lokalizacji użytkownika, jeśli nawigacja nie jest na pierwszym planie? -
Tak.
RoadSnappedLocationProviderdomyślnie działa w tle. - Czy Navigation SDK obsługuje geofencing?
-
Nie. W kontekście nawigacji
remainingTimeOrdistanceChangeListenerma 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.- Ustaw próg, aby określić częstotliwość wywołań zwrotnych.
- 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.FALSEwyłącza powiadomienia, aTRUEje 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
NavigationTransactionRecorderw 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:
- Pobierz czas i odległość dla wszystkich punktów pośrednich za pomocą
Navigator.getTimeAndDistanceList(). - Ukryj szacowany czas dotarcia do bieżącego punktu orientacyjnego za pomocą
NavigationFragment.setEtaCardEnabled(false). - Wyświetl szacowany czas dotarcia do miejsca docelowego.
- Pobierz czas i odległość dla wszystkich punktów pośrednich za pomocą
- 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). -
Użyj
StylingOptions, aby ustawić styl koloru tła. Aby ukryć lub wyświetlić nagłówek i stopkę, użyj funkcji składowychsetHeaderEnabledisetFooterEnabledklasyNavigationFragment.
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
Markerz 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 ekranieNavigationMap. - 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:- Zarejestruj detektor, który sprawdza pozycję urządzenia na trasie, używając metody
Navigator.setRouteChangedListener. - 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.
- Zarejestruj detektor, który sprawdza pozycję urządzenia na trasie, używając metody
-
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. MetodasimulateLocationsAlongExistingRouteignoruje 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). Zdarzenieresume intentjest wywoływane, gdy użytkownik aplikacji kliknie powiadomienie. ZwykleNavigator.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
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.
ReportBillableEvent. Metodę ReportBillableEvent powinni wywoływać tylko klienci 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ć:
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.