Błędy
W przypadku błędu zwracana jest treść odpowiedzi w standardowym formacie, a kod stanu HTTP zostanie ustawiony jako błąd.
Odpowiedź zawiera obiekt z jednym obiektem error
z tymi kluczami:
code
: jest to taki sam stan jak odpowiedź HTTP.message
: krótki opis błędu.status
: kod stanu oznaczający charakter błędu.
Na przykład wysłanie nieprawidłowego parametru placeId
spowoduje wyświetlenie tego błędu:
{ "error": { "code": 400, "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"", "status": "INVALID_ARGUMENT" } }
Możliwe błędy:
Kod | Stan | przekaz, | 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. Sprawdź, czy dodano cały klucz i czy włączono dla niego interfejs API. |
400 | INVALID_ARGUMENT |
Parametr „\"ścieżka\" zawiera nieprawidłową wartość: ☃" | Żądanie zawiera nieprawidłowe argumenty. Najczęstsze przyczyny tego błędu:
Ten błąd nie zostanie zwrócony, jeśli obiekt |
403 | PERMISSION_DENIED |
Niezarejestrowana prośba została zablokowana. Zarejestruj się, używając Google Developers Console. | Żądanie zostało odrzucone z co najmniej jednego z tych powodów:
Aby można było korzystać z usług Google Maps Platform, na koncie muszą być włączone płatności, a wszystkie żądania muszą zawierać prawidłowy klucz interfejsu API. Aby rozwiązać ten problem, wykonaj te czynności:
|
404 | NOT_FOUND |
Ta usługa wymaga protokołu HTTPS. | Upewnij się, że wysyłasz żądania do https://roads.googleapis.com/ , a nie do http://roads.googleapis.com/ . |
429 | RESOURCE_EXHAUSTED |
Żądanie zostało ograniczone z powodu osiągnięcia limitów żądań projektu. | Przekroczono limit żądań skonfigurowany w konsoli Google Cloud Platform. Ten limit jest zwykle ustawiany jako żądania dziennie, żądania na 100 sekund i żądania na 100 sekund na użytkownika. Ten limit powinien być skonfigurowany w taki sposób, aby pojedynczą grupę lub niewielką grupę użytkowników nie wyczerpała dziennego limitu, a jednocześnie miał rozsądny dostęp do wszystkich użytkowników. Te limity możesz skonfigurować w artykule Capping API Usage (Ograniczenia użycia interfejsu API). |
Wykładnicze ponowienie
Gdy żądania kończą się niepowodzeniem, pamiętaj, aby ponowić próbę. Jeśli na przykład żądanie nie powiedzie się raz, spróbuj ponownie za 2 sekundy, jeśli się nie uda, spróbuj ponownie za 2 sekundy, 4 sekundy itd. Dzięki temu uszkodzone żądania lub awarie na dużą skalę nie zapełniają serwerów Google, ponieważ wielu klientów próbuje ponawiać próby bardzo szybko.
Najczęstsze pytania dotyczące rozwiązywania problemów
Problemy z implementacją
- Z jaką częstotliwością mam sprawdzać lokalizację pojazdu?
- Co 1–10 sekund zaleca się ustawienie wysokiej jakości przyciągania do drogi.
- Czy istnieje limit liczby punktów, które mogę wysłać na jedno zapytanie?
- Tak, zapytanie może mieć maksymalnie 100 punktów.
- Jakiego poziomu dokładności powinienem używać do przechowywania parowanych szerokości i długości geograficznej?
- Aby mieć pewność, że przyciągnięte ścieżki będą przesuwać się po wszystkich poziomach powiększenia, nawet przy maksymalnym powiększeniu, zapisz współrzędne szerokości i długości geograficznej w dokładności do 7 miejsc po przecinku.
- Czy mogę wyświetlać zakodowane ścieżki za pomocą zakodowanych linii łamanych?
- Zakodowane linie łamane są określane z dokładnością do 5 miejsc po przecinku, co powoduje błąd około 2 metrów. Zakodowane linie łamane nie są więc odpowiednie, jeśli chcesz, aby przyciągnięte ścieżki przesuwały się wzdłuż drogi przy dużym powiększeniu.
Częste problemy
- Niektóre punkty nie są przyciągane lub mam luki w przyciąganych ścieżkach. Jak mogę to poprawić?
-
- Jeśli próbkujesz punkty w interwałach czasowych, staraj się wykorzystywać ich punkty w krótszych odstępach czasu (co 1–10 sekund). W przypadku dłuższego interwału (na przykład 60 sekund) algorytm przyciągania drogi może nie być w stanie określić wystarczającej liczby przebytych dróg.
- Jeśli ręcznie klikasz mapę, aby utworzyć punkty, możesz z łatwością utworzyć ścieżki z kilkoma punktami lub z opóźnieniem, jeśli algorytm przyciągania nie działa dobrze. Algorytm przyciągania działa najlepiej w przypadku punktów, które są blisko siebie. Wypróbuj wersję demonstracyjną przyciągania do dróg lub użyj inspektora drogi, aby przetestować swoje ścieżki.
- Dlaczego po powiększeniu widoczne przeze mnie przycięte ścieżki są nieregularne lub nieznacznie oddalone od drogi?
-
- Czy skracasz precyzję zwiniętych par szerokości i długości geograficznej przed ich wyświetleniem? Przechowywanie załadowanych par szerokości i długości geograficznej z dokładnością do mniej niż 7 miejsc po przecinku powoduje błędy dokładności, gdy wyświetlana jest na mapie uchwycona ścieżka.
- Czy używasz zakodowanych linii łamanych? Zakodowane linie łamliwe tworzą obcinanie par szerokości i długości geograficznej do 5 miejsc po przecinku, co powoduje błąd o długości kilku metrów, powodując, że linie są wyrównywane lub odsunięte od drogi przy dużym powiększeniu.
Jeśli żaden z powyższych przypadków nie dotyczy tej sytuacji, być może najnowsze fragmenty map zostały zaktualizowane i w rezultacie nie są zsynchronizowane z indeksem drogi służącym do przechwytywania. Jeśli problem dotyczy tylko kilku zapytań, prawdopodobnie jest to ich przyczyną. Mapy Google są aktualizowane regularnie, dlatego czasami mogą pojawiać się częściej, jeśli regularnie patrzysz na mapę na starych ścieżkach (np. na ścieżkach zrobionych kilka tygodni temu). Aby uzyskać optymalną wizualizację, należy ponownie uchwycić stare ścieżki przed wyświetleniem ich na mapie w celu zminimalizowania niespójności między kafelkami mapy a indeksem drogi używanym do przechwytywania.
- Co może powodować nieprawidłowe wyświetlanie ograniczenia prędkości na drodze X?
- Ograniczenia prędkości pochodzą z różnych źródeł, które różnią się dokładnością i zasięgiem.
Jeśli znajdziesz wzorzec, na przykład ograniczenia prędkości dotyczące określonego typu drogi na danym obszarze, lub informacje o błędach na danym obszarze stale się mylą, wykonaj te czynności:
- Otwórz Mapy Google na komputerze LUB aplikację Mapy Google na Androida.
- Otwórz menu po lewej stronie.
- Wybierz Prześlij opinię. Uwaga: może pojawić się prośba o zalogowanie.
- Kliknij Edytuj mapę.
- Wybierz fragment drogi, który chcesz edytować.
- Kliknij Dalej.
- W polu „Inne” wskaż, że na tej drodze obowiązuje ograniczenie prędkości.
- Wybierz Prześlij.
- Dlaczego przyciągnięta ścieżka obcina rogi drogi, a nie jej podążanie?
-
Aby rozwiązać ten problem, wykonaj te czynności:
- Sprawdź, czy parametr
interpolate
ma wartośćtrue
. - Próbkowanie pierwotnych punktów danych w odpowiednich odstępach czasu (co 1–10 sekund)
- Sprawdź, czy parametr
- Dlaczego na skróconej ścieżce dla drogi bez zmiany limitu prędkości wyświetla się wiele fragmentów?
- Gdy parametr
interpolate
jest ustawiony natrue
, zapytanie przyciągające do drogi zwraca linię łamaną wzdłuż drogi wokół rogów, krzywych i rond. Jeśli krzywe drogi się zwracają, taki obszar może zostać zwrócony nawet wtedy, gdy nie zmieni się ograniczenie prędkości. W ten sposób powstanie linia łamana zbliżona do geometrii drogi.