Błędy
W przypadku błędu zwracana jest treść odpowiedzi zawierającej błąd w standardowym formacie, a kod stanu HTTP jest zwracany na stan błędu.
Odpowiedź zawiera obiekt z pojedynczym obiektem error
o tych kluczach:
code
: jest taki sam 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 takiego 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. | Klucz interfejsu API jest nieprawidłowy lub nie został uwzględniony w żądaniu. Sprawdź, czy został uwzględniony cały klucz i czy dla tego klucza został włączony interfejs API. |
400 | INVALID_ARGUMENT |
Parametr „path” zawiera nieprawidłową wartość: ☃” | Żądanie zawiera nieprawidłowe argumenty. Najbardziej prawdopodobne przyczyny tego błędu:
Ten błąd nie zostanie zwrócony, jeśli podany jest znak |
403 | PERMISSION_DENIED |
Niezarejestrowana prośba została zablokowana. Zarejestruj się przez 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 Twoim 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 domeny https://roads.googleapis.com/ , a nie do http://roads.googleapis.com/ . |
429 | RESOURCE_EXHAUSTED |
Żądanie zostało ograniczone z powodu przekroczenia limitów żądań w projekcie. | Przekroczono limit żądań skonfigurowany w konsoli Google Cloud Platform. Ten limit jest zwykle ustawiany jako żądania dziennie, na 100 sekund i na 100 sekund na użytkownika. Ten limit należy skonfigurować tak, aby zapobiec wykorzystaniu limitu dziennego przez jedną lub małą grupę użytkowników, jednocześnie zapewniając rozsądny dostęp dla wszystkich użytkowników. Informacje o tym, jak skonfigurować te limity, znajdziesz w sekcji Capping API Usage. |
Ponawianie wykładnicze
Jeśli żądania kończą się niepowodzeniem, ponawiaj je ze wzrastającym czasem do ponowienia. Jeśli na przykład żądanie raz się nie powiedzie, ponawiaj po sekundzie, jeśli znowu się nie uda, ponów próbę po 2 sekundach, następnie 4 sekundach itd. Dzięki temu uszkodzone żądania lub awarie na dużą skalę nie wypełniają serwerów Google, ponieważ wiele klientów próbuje bardzo szybko ponawiać żądania.
Najczęstsze pytania dotyczące rozwiązywania problemów
Problemy z implementacją
- Jak często mam sprawdzać lokalizację pojazdu?
- Aby uzyskać wysokiej jakości dopasowanie do drogi, zalecamy ustawienie co 1–10 sekund.
- Czy istnieje limit punktów, które mogę wysłać za jedno zapytanie?
- Tak. Zapytanie może mieć maksymalnie 100 punktów.
- Jakiego poziomu dokładności mam używać do zapisywania zapisanych par szerokości i długości geograficznej?
- Aby przyciągnąć przyciągane ścieżki po drogach przy każdym poziomie powiększenia, nawet przy maksymalnym powiększeniu, musisz zapisywać przyciągane pary szerokości i długości geograficznej z dokładnością do 7 miejsc po przecinku.
- Czy do wyświetlania przyciąganych ścieżek można używać zakodowanych linii łamanych?
- Zakodowane linie łamane są określane z dokładnością do 5 miejsc po przecinku, co daje błąd około 2 metrów. Kodowane linie łamane nie są więc odpowiednie, jeśli chcesz, aby przyciągnięte ścieżki przebiegały wzdłuż drogi przy dużym powiększeniu.
Typowe problemy
- Niektóre punkty nie są przyciągane lub w przyciągniętych ścieżkach są luki. Jak mogę to poprawić?
-
- Jeśli próbujesz punktów w odstępach czasowych, zadbaj o to, aby Twoje punkty były próbkowane w krótszych odstępach czasu (co 1–10 sekund). Jeśli użyjesz dłuższego odstępu (np. 60 sekund), algorytm przyciągania do drogi może nie być w stanie określić pokonanych dróg z wystarczającą dokładnością.
- Jeśli ręcznie klikasz mapę, aby utworzyć punkty, bardzo łatwo możesz utworzyć ścieżki z kilkoma punktami lub rzadkimi punktami, którymi nie radzi sobie algorytm przyciągania. Algorytm przyciągania działa najlepiej w przypadku punktów, które są blisko siebie. Skorzystaj z prezentacji funkcji Przyciągaj do dróg lub skorzystaj z inspektora dróg, aby przetestować swoje ścieżki.
- Dlaczego przyciągane ścieżki są nieregularne lub nieznacznie oddalone od drogi przy powiększeniu?
-
- Czy precyzja przyciąganych par szerokości i długości geograficznej przed ich wyświetleniem jest zmniejszona? Przechowywanie pobranych par szerokości i długości geograficznej z dokładnością do mniej niż 7 miejsc po przecinku powoduje błędy precyzji, gdy wyświetlana ścieżka jest wyświetlana na mapie.
- Czy używasz zakodowanych linii łamanych? Zakodowane linie łamane skracają pary szerokości i długości geograficznej do 5 miejsc po przecinku, co powoduje błąd rzędu kilku metrów, a przy dużym powiększeniu linie są nieregularne lub nieznacznie oddalone od drogi.
Jeśli żadna z tych sytuacji nie pasuje do Twojej sytuacji, fragmenty mapy mogły zostać niedawno zaktualizowane, przez co przestały być zsynchronizowane z indeksem drogi używanym do przyciągania. Jeśli problem dotyczy tylko kilku zapytań, prawdopodobnie to jest przyczyną. Mapy Google są regularnie aktualizowane, więc może się to zdarzać od czasu do czasu i częściej, jeśli regularnie sprawdzasz na mapie stare ścieżki (np. ścieżki zrobione kilka tygodni temu). Aby uzyskać optymalną wizualizację, zaciągnij stare ścieżki tuż przed ich pokazaniem na mapie, aby zminimalizować niespójności między fragmentami mapy a indeksem dróg używanym do przyciągania.
- Co może spowodować nieprawidłowe wyświetlanie ograniczenia prędkości na drodze X?
- Ograniczenia prędkości pochodzą z kilku źródeł, które różnią się dokładnością i zasięgiem.
Jeśli znajdziesz wzorzec, np. ograniczenie prędkości dla określonego typu drogi lub na określonym obszarze, poinformuj nas o tym:
- 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.
- Wybierz Edytuj mapę.
- Wybierz fragment drogi, który chcesz edytować.
- Kliknij Dalej.
- W polu „Inne” wskaż, że ograniczenie prędkości na danej drodze jest nieprawidłowe.
- Wybierz Prześlij.
- Dlaczego kręcona przeze mnie ścieżka cięcia skręca, a nie podąża wzdłuż drogi?
-
Aby rozwiązać ten problem, sprawdź następujące elementy:
- Upewnij się, że parametr
interpolate
jest ustawiony natrue
. - Sprawdź, czy pierwotne punkty danych są próbkowane w odpowiednich odstępach czasu (co 1–10 sekund).
- Upewnij się, że parametr
- Dlaczego na trasie, na której nie ma zmian ograniczeń prędkości, pojawia się wiele fragmentów drogi?
- Gdy parametr
interpolate
ma wartośćtrue
, zapytanie przyciągania do drogi zwraca linię łamaną, która biegnie wzdłuż drogi wokół narożników, krzywych i rond. W przypadku krzywych drogi zwracanych jest wiele fragmentów drogi, nawet jeśli ograniczenie prędkości się nie zmienia, w celu utworzenia linii łamanej ściśle dopasowanej do geometrii drogi.