Najczęstsze pytania

Szczegóły usługi

Sieć i łączność

Dane

Personalizacja interfejsu

Routing

Symulator

Przepływy pracy

Usługi mobilności

Szczegóły usługi

Aplikacja musi zawierać okno z powiadomieniem o Warunkach korzystania z usługi w pakiecie SDK nawigacji, które musi zaakceptować każdy użytkownik. Ten dialog umożliwia użytkownikowi zaakceptowanie Warunków korzystania z usługi. Warunki są dostępne w pliku tekstowym dołączonym do Navigation SDK. Aby wyświetlić okno dialogowe z warunkami, użyj metody NavigationApi.showTermsAndConditionsDialog.
Wszystkie języki obsługiwane przez Google Maps Mobile są automatycznie dostępne w przypadku pakietu SDK do nawigacji. Urządzenie ma domyślny język systemowy, którego aplikacja nie może zmienić. Aplikacja ma jednak dostęp do ponad 70 języków.

Tak. Po uruchomieniu LocationListener będzie nadal działać w tle. Aplikacja nadal przypina pozycję do drogi i utrzymuje kierunek.

Tak. Gdy tworzysz lub zmieniasz trasę, usługa RouteChangeListener udostępnia linie wielokątne.

Nie. Pakiet SDK Nawigacji nie wymaga instalowania na urządzeniu aplikacji mobilnej Mapy Google.
Nie, obecnie pakiet SDK Nawigacji nie obsługuje tej funkcji.
Tak. Kierunek ruchu jest dostępny i wyświetlany domyślnie.
Które wersje JDK obsługuje pakiet SDK nawigacji?
Pakiet Navigation SDK obsługuje wersje LTS Java SE, które są aktywnie obsługiwane przez firmę Oracle. Te wersje są wymienione jako objęte wsparciem najwyższego poziomu w mapie drogowej wsparcia Oracle Java SE.

Sieć i łączność

Jak pakiet SDK Nawigacji radzi sobie z problemami z połączeniem z siecią?
Pakiet SDK do nawigacji wstępnie przechowuje w pamięci podręcznej trasę dla każdej podróży. Informacje w cache obejmują informacje o trasie na 15–20 minut oraz alternatywne trasy na wypadek, gdyby użytkownik zboczył z trasy. Pakiet SDK nawigacji określa przybliżoną pozycję za pomocą GPS-a i czujników urządzenia.
Jak pakiet SDK do nawigacji radzi sobie z niestabilnym lub zanikającym sygnałem GPS?

Po rozpoczęciu nawigacji i po tym, jak Navigation SDK otrzyma sygnał GPS co najmniej raz, wyświetli komunikat „Szukanie sygnału GPS…” w tych sytuacjach:

  • jeśli od ostatniego otrzymania sygnału GPS minęło ponad 10 sekund.
  • Jeśli od ostatniego otrzymania sygnału GPS pozycja nawigacji zmieniła się o ponad 500 m.

Jeśli pakiet SDK przez dłuższy czas nie odbiera sygnału GPS, 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. Zestaw SDK nie wyjdzie automatycznie z trybu nawigacji z powodu braku sygnału GPS. Jednak może nie być w stanie udzielić wskazówek, dopóki nie otrzyma sygnału.

Czy jest dostępny tryb offline?
Nie, pakiet SDK Nawigacji nie oferuje obecnie trybu offline. Pakiet SDK udostępnia jednak wcześniej zapisane w pamięci podręcznej informacje dotyczące trasy.

Dane

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

Tak. Aby uzyskać wskazówki dojazdu do miejsca docelowego, wybierz Navigator.getRouteSegments().

Czy na początku trasy dostępne są wskazówki dojazdu zakręt po zakręcie?
Tak. Pakiet SDK nawigacji udostępnia listę segmentów trasy. Użytkownik może też przesuwać kartę z kierunkami w nagłówku, aby zobaczyć każdy manewr.
Jak użytkownicy aplikacji są informowani o przewidywanym czasie dotarcia?

Aby udostępnić użytkownikom aplikacji informacje o przewidywanym czasie dotarcia:

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

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

Czy pakiet SDK do nawigacji obsługuje geofencing?

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

Możesz z nią poznać przybliżone wyniki, korzystając z funkcji remainingTimeOrdistanceChangeListener.

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

Jeśli np. ustawisz próg na 100 m, otrzymasz połączenie 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 do mniejszej wartości i otrzymywać częstsze połączenia zwrotne. Następnie sprawdź pozostały dystans, 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. Użyj Navigator.setHeadsUpNotificationEnabled, aby zarządzać powiadomieniami. Ta metoda ma argument typu logicznego. FALSEwyłącza powiadomienia; TRUEwłącza powiadomienia.

Rejestrator transakcji śledzi odbiory i dostawy za pomocą unikalnego identyfikatora, który Google rejestruje na potrzeby analizy produktu. Jeśli jesteś klientem Usług mobilnych, Google zaleca wdrożenie NavigationTransactionRecorder, aby rejestrować transakcje.

Personalizacja interfejsu

Czy mogę oznaczyć kolorem najlepszą opcję trasy?
Nie. Obecnie nie można nadać koloru konkretnej opcji trasy.
Czy pakiet SDK do nawigacji może wyświetlać szacowany czas dotarcia do miejsca docelowego?

Tak. Wykonaj jedną z tych czynności:

  1. Pobierz czas i odległość dla wszystkich punktów drogi za pomocą funkcji Navigator.getTimeAndDistanceList().
  2. Ukryj ETA bieżącego punktu docelowego, używając NavigationFragment.setEtaCardEnabled(false).
  3. Wyświetlanie czasu dojazdu do miejsca docelowego.
Jak mogę ukryć aktualizacje szacowanego czasu dotarcia?

Możesz wyłączyć karty ETA, dzwoniąc pod numer navigationView.setEtaCardEnabled(false).

Jakie opcje dostosowywania 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 członkowskich setHeaderEnabled i setFooterEnabled klasy NavigationFragment.

Routing

Czy mogę podać użytkownikowi konkretną trasę lub usunąć alternatywne trasy?
Nie. Domyślnie podawane są liczne trasy, a priorytet ma najszybsza z nich. Możesz wpływać na domyślną trasę, dodając do swojej prośby preferencje, takie jak „omijaj autostrady i drogi płatne”. 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 docelowa?

Tak. Utwórz Marker z niestandardowym tytułem miejsca docelowego i współrzędnymi geograficznymi. Pakiet SDK nawigacji wyświetla tytuł niestandardowy i współrzędne na NavigationMap.

Czy mogę używać pakietu SDK do nawigacji, aby śledzić odstępstwa od zdefiniowanej ścieżki?

Tak. Użyj opcji Navigator.setRouteChangedListener, aby otrzymywać powiadomienia, gdy trasa się zmieni lub zostanie zalecana nowa trasa:

  1. Zarejestruj listenera, który sprawdza pozycję urządzenia na trasie, używając metody Navigator.setRouteChangedListener.
  2. Dodaj kod do modułu obsługi wywołania zwrotnego onRouteChanged:
    • Wyślij wiadomość do użytkownika aplikacji z aktualnym szacowanym czasem dotarcia i informacjami o odległości.
    • śledzić lokalizację urządzenia;
    • [Opcjonalnie] Dodaj inne funkcje wymagane przez aplikację, aby obsłużyć przypadki, gdy użytkownik zjeżdża z przeznaczonej trasy.
Czy użytkownik może zamknąć nawigację bez ukończenia trasy?

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

Symulator

Czy symulator obsługuje zmiany trasy?

Tak. Wywołaj funkcję simulateLocationsAlongNewRoute, aby symulować podróż, która obejmuje zmianę trasy. Metoda simulateLocationsAlongExistingRoute ignoruje zmiany w dotychczasowej trasie.

Przepływy pracy

Jak zamknąć powiadomienie po zamknięciu aktywności, która zawiera fragment nawigacji?

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

Aby obsłużyć kliknięcia powiadomienia, użyj elementu Navigator.startGuidance(intent resumeIntent). Aktywuje się, gdy użytkownik aplikacji kliknie powiadomienie.resume intent Zazwyczaj metoda Navigator.startguidance(getIntent()) jest wywoływana z głównej metody Activity, która wywołuje metodę Activity, gdy użytkownik aplikacji kliknie powiadomienie.

Usługi mobilności

Jakie różnice występują w korzystaniu z pakietu SDK do nawigacji w przypadku klientów Usług mobilnych?

Usługi mobilności Google Maps Platform to zbiór interfejsów API i pakietów SDK, które pomagają spełniać potrzeby firm transportowych i logistycznych. W przypadku klientów korzystających z Mobility Services pakiet SDK Nawigacji jest zwykle używany w połączeniu z powiązanymi usługami do optymalizacji trasy, dysponowania, śledzenia zadań, analizy floty itp. Pakiet SDK do nawigacji jest też fakturowany inaczej w przypadku klientów usług mobilnych. Więcej informacji znajdziesz w dokumentacji Usług mobilnych.

Produkty mobilne są obecnie dostępne tylko dla wybranych klientów. Aby uzyskać więcej informacji, skontaktuj się z przedstawicielem ds. sprzedaży.

Jak mogę sprawdzić, czy jestem klientem Mobility Services?
Jeśli nie masz pewności, czy implementujesz pakiet SDK Nawigacji jako klient Usług mobilnych, poszukaj w kodzie wywołania ReportBillableEvent. Metodę ReportBillableEvent powinni stosować tylko klienci Usług mobilnych.

Jak naliczane są opłaty za pakiet SDK Nawigacji w przypadku klientów Usług mobilnych?
W przypadku klientów korzystających z usług mobilnych rozliczenia i ceny pakietu SDK nawigacji zależą od umowy o świadczenie usług zawartej z Google Maps Platform. Informacje o tym, jak sprawdzić, czy prawidłowe są opłaty za wdrożenie Usług mobilnych, znajdziesz w sekcji Weryfikacja rozliczeń. Aby uzyskać więcej informacji o rozliczaniu usług mobilnych, skontaktuj się z przedstawicielem handlowym.

Których interfejsów API pakietu SDK nawigacji powinni używać tylko klienci Mobility Services?

W pakiecie SDK nawigacji jest kilka interfejsów API przeznaczonych tylko dla klientów Usług mobilnych, którzy są obciążani przez Google za każdą transakcję. Jeśli nie korzystasz z usług mobilnych, te metody nie będą działać:

Czy jako klient usług Mobility Services mogę korzystać z implementacji pakietu SDK nawigacji, która nie jest związana z usługami Mobility Services?

Tak. Klienci Usług mobilnych mogą korzystać z implementacji pakietu SDK nawigacji zarówno w Usługach mobilnych, jak i poza nimi. W aplikacji możesz jednak używać tylko jednego typu implementacji naraz. Musisz też utworzyć nowy projekt Google Cloud, konto rozliczeniowe i klucz API, które będą odrębne od tych, których używasz w ramach implementacji usług mobilnych. Więcej informacji znajdziesz w omówieniu konfiguracji pakietu SDK na potrzeby nawigacji.

Więcej informacji o implementacji pakietu SDK nawigacji w innych usługach niż Mobilność, w tym o przenoszeniu aplikacji z jednego typu implementacji do innego, znajdziesz u swojego opiekuna klienta Google.

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