Rozwiązywanie problemów

Błędy

W przypadku błędu zwracana jest treść odpowiedzi na błąd w standardowym formacie. a kod stanu HTTP – stan błędu.

Odpowiedź zawiera obiekt z jednym obiektem error z następującymi wartościami Klucze:

  • code: ta sama wartość jest taka sama jak stan HTTP odpowiedzi.
  • message: krótki opis błędu.
  • status: kod stanu wskazujący charakter błędu.

Na przykład wysłanie nieprawidłowego parametru placeId spowoduje zwrócenie: błąd:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

Możliwe błędy:

Kod Stan Wiadomość Rozwiązywanie problemów
400 INVALID_ARGUMENT Podany klucz jest nieprawidłowy. Twój klucz interfejsu API jest nieprawidłowy lub nie został uwzględniony w żądaniu. Upewnij się, że został dołączony cały klucz włączono interfejs API dla tego klucza.
400 INVALID_ARGUMENT "\"ścieżka\" Parametr zawiera nieprawidłową wartość: ☃" Żądanie zawiera nieprawidłowe argumenty. Najbardziej prawdopodobne przyczyny ten błąd to:
  • Problem z parametrem path.
    Upewnij się, że masz co najmniej 1, ale mniej niż 100 pkt. Każdy punkt powinien być parą liczb rozdzielonych przecinkiem, na przykład: 48.409114,-123.369158. Punkty powinny: oddzielone pionową kreską: „|”.
  • Żądanie zawiera nieprawidłowy element placeId.
  • Żądanie obejmowało zarówno placeId, jak i path Dla parametru każdego żądania.

Ten błąd nie zostanie zwrócony, jeśli pole placeId jest prawidłowe dotyczy drogi, która już nie istnieje, lub miejsca, które nie jest drogą.

403 PERMISSION_DENIED Niezarejestrowane żądanie zostało zablokowane. Zarejestruj się przez Google Developers Konsola. Prośba została odrzucona z co najmniej jednego z tych powodów:
  • Brak klucza interfejsu API lub jest on nieprawidłowy.
  • Płatności nie zostały włączone na Twoim koncie.
  • Przekroczono nałożony samodzielnie limit wykorzystania.
  • Podana forma płatności straciła ważność (na przykład ważność karty kredytowej wygasła).

Aby móc korzystać z usług Google Maps Platform, musisz włączyć płatności w Twojego konta, a wszystkie żądania muszą zawierać prawidłowy klucz interfejsu API. Aby rozwiązać ten problem: wykonaj te czynności:

404 NOT_FOUND W przypadku tej usługi wymagany jest protokół HTTPS. Upewnij się, że wysyłasz żądania do https://roads.googleapis.com/ i nie http://roads.googleapis.com/
429 RESOURCE_EXHAUSTED Żądanie zostało ograniczone z powodu osiągnięcia limitu żądań projektu. Przekroczono limit żądań skonfigurowany na stronie Konsola Google Cloud Platform. Ten limit jest zwykle ustawiany jako żądania dziennie, żądań na 100 sekund i żądań na 100 sekund na użytkownika. Ten limit należy skonfigurować tak, aby nie dopuścić do wystąpienia pojedynczej lub niewielkiej grupy użytkowników do wyczerpania dziennego limitu przy jednoczesnym umożliwieniu dostęp dla wszystkich użytkowników. Zobacz Ograniczanie wykorzystania interfejsu API do skonfigurowania tych limitów.

Wykładniczy czas do ponowienia

W przypadku niepowodzenia ponawiaj żądania, stosując metody wykładnicze. czas ponowienia. Jeśli na przykład żądanie nie powiedzie się raz, spróbuj ponownie za sekundę, wystąpi błąd, spróbuj jeszcze raz za dwie sekundy, potem za 4 sekundy itd. Ten aby nieudane żądania lub awarie na dużą skalę nie zasypywały , bo wiele klientów próbuje bardzo szybko ponawiać żądania.

Najczęstsze pytania dotyczące rozwiązywania problemów

Problemy z implementacją

Z jaką częstotliwością należy pobierać próbki lokalizacji pojazdu?
Aby uzyskać wysokiej jakości przyciąganie do drogi, zalecamy ustawienie co 1–10 sekund.
Czy istnieje ograniczenie liczby punktów, które mogę wysłać w jednym zapytaniu?
Tak, zapytanie może mieć maksymalnie 100 punktów.
Jakiego poziomu dokładności należy użyć, aby zapisać przyciągnięte współrzędne szerokości i długości geograficznej pary?
Aby mieć pewność, że przyciągane ścieżki biegną wzdłuż dróg na wszystkich poziomach powiększenia, nawet przy maksymalnego powiększenia, zapisz pary szerokości i długości geograficznej zapisu na 7 miejsc po przecinku dokładności.
Czy do wyświetlania przyciągniętych ścieżek mogę użyć zakodowanych linii łamanych?
Zakodowane linie łamane są określane z dokładnością do 5 miejsc po przecinku, co skutkuje błędem wynoszącym około 2 metrów. Zakodowane linie łamane są więc nie jest odpowiednie, jeśli chcesz, aby przyciągnięte ścieżki obejmowały drogę przy dużym powiększeniu poziomów.

Typowe problemy

Niektóre punkty nie są przyciągane lub mam luki w przyciągniętych ścieżkach. Jak Google Naprawiam to?
  • Jeśli próbkujesz punkty w odstępach czasowych, upewnij się, że nie są one próbkowany w krótszych odstępach (co 1–10 sekund). Jeśli używany jest dłuższy interwał (np. 60 sekund), algorytm przyciągania do drogi może nie być w stanie określać przebyte drogi z wystarczającą dokładnością.
  • Jeśli ręcznie klikasz mapę, aby utworzyć punkty, tworzyć ścieżki z niewielką liczbą lub rozproszonymi punktami, które algorytm przyciągania nie radzi sobie dobrze. Algorytm przyciągania działa najlepiej w przypadku punktów, które są blisko siebie. Wypróbuj funkcję Przyciągnij do Prezentacja dróg lub droga do testowania ścieżek.
Dlaczego moje przyciągnięte ścieżki są poszarpane lub nieco oddalone od drogi, powiększyć?
  • Czy zmniejszasz precyzję skręconych par szerokości i długości geograficznej? przed ich wyświetleniem? Zapisywanie par współrzędnych szerokości i długości geograficznej z dokładnością do mniej niż 7 miejsc po przecinku powoduje błędy, gdy na mapie pojawi się skrócona ścieżka.
  • Czy używasz zakodowanych linii łamanych? Obcięcie zakodowanych linii łamanych par szerokości i długości geograficznej do pięciu miejsc po przecinku, co powoduje błąd kilka metrów, w wyniku czego linie są postrzępione lub nieco oddalone przy dużym powiększeniu drogi.

Jeśli nie dotyczy Cię żadna z tych sytuacji, fragmenty mapy mogły zostać zaktualizowane przez co nie są zsynchronizowane z indeksem dróg używanym dla lub zdjęcia. Jeśli problem dotyczy tylko kilku zapytań, prawdopodobnie przyczyna. Ponieważ Mapy Google są regularnie aktualizowane, może się to zdarzyć od czasu do czasu, i może pojawiać się częściej, jeśli regularnie oglądasz stare trasy na mapie (np. np. ścieżek, które zostały przyciągnięte kilka tygodni temu). Aby uzyskać optymalną wizualizację, rysowanie starych ścieżek tuż przed pokazaniem ich na mapie, do zminimalizowania niespójności między fragmentami mapy a indeksem dróg używanym dla lub zdjęcia.

Co może spowodować, że ograniczenie prędkości na drodze X wyświetli się nieprawidłowo?
Ograniczenia prędkości pochodzą z kilku źródeł, które różnią się pod względem dokładności i zasięgu. Jeśli zauważysz powtarzające się zachowania, na przykład ograniczenia prędkości na drodze do konkretnego typu lub w którymś z nich jest stale błędny, wykonaj następujące czynności: powiadom nas o tym:
  1. Otwórz Mapy Google na komputerze LUB aplikację Mapy Google na na urządzeniu z Androidem.
  2. Otwórz menu po lewej stronie.
  3. Wybierz Prześlij opinię. Uwaga: może pojawić się prośba o zalogowanie.
  4. Wybierz Edytuj mapę.
  5. Wybierz fragment drogi, który chcesz edytować.
  6. Kliknij Dalej.
  7. W sekcji „Inne” wskazują, że na danej drodze obowiązuje nieprawidłowe ograniczenie prędkości.
  8. Wybierz Prześlij.
W tym miejscu można też zgłaszać inne problemy (np. jeśli na drodze występują błędna nazwa, jest nieprawidłowo zaznaczona, jest zamknięta lub prywatna).
Dlaczego moja zapisana ścieżka przecina narożniki, a nie idzie za drogą?
Aby rozwiązać ten problem:
  • Upewnij się, że parametr interpolate ma wartość true.
  • Sprawdź, czy pierwotne punkty danych są próbkowane w wystarczających odstępach czasu (co 1-10 sekund).
Dlaczego w przypadku drogach, na których nie można zmieniać ograniczeń prędkości?
Gdy parametr interpolate ma wartość true, zapytanie przyciągania do drogi zwraca linię łamaną wzdłuż drogi na rogach, krzywe i ronda. Jeśli krzywe drogi są zakrzywione, wielu fragmentów drogi zwracany nawet wtedy, gdy ograniczenie prędkości się nie zmienia, w celu utworzenia linii łamanej który dokładnie odpowiada geometrii drogi.