Oto kilka wskazówek dotyczących rozwiązywania typowych problemów.
Dlaczego promień dokładności jest bardzo duży?
Jeśli odpowiedź na żądanie geolokalizacji zawiera bardzo wysoką wartość w polu dokładności, usługa może określać lokalizację na podstawie adresu IP żądania zamiast punktów dostępu Wi-Fi lub stacji bazowych. Takie odpowiedzi mogą się pojawić, jeśli usługa nie rozpoznaje żadnych wież komórkowych ani punktów dostępu.
Aby potwierdzić, że usługa nie mogła zlokalizować geograficznie punktów dostępu, ustaw w żądaniu wartośćconsiderIp
na „false” (fałsz). Jeśli odpowiedź to 404, oznacza to, że obiekty wifiAccessPoints i cellTowers nie mogły zostać zlokalizowane.
Jak rozwiązać problem z odpowiedzią?
Jeśli żądanie powoduje błąd, system zwraca standardowy format treści odpowiedzi z błędem i ustawia kod stanu HTTP na stan błędu.
Odpowiedź błędna zawiera obiekt z jednym obiektem błędu z tymi kluczami:
code
: jest taki sam jak stan HTTP odpowiedzi.message
: krótki opis błędu.errors
: lista wystąpionych błędów. Każdy błąd zawiera identyfikator typu błędu (przyczyna) i krótki opis (wiadomość).
Na przykład wysłanie nieprawidłowego pliku JSON spowoduje wyświetlenie tego komunikatu o błędzie:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Zbieranie informacji o testowaniu z urządzeń
Aby przeprowadzić dodatkowe testy, możesz zbierać informacje z urządzenia za pomocą tych pakietów SDK i interfejsów API:
Urządzenia z Androidem: otwórz pakiet SDK Miejsc na Androida i interfejsy API lokalizacji na Androida.
Urządzenia z iOS: otwórz pakiet SDK Miejsc na iOS.
Opisywanie błędów
Oto możliwe błędy, które mogą wystąpić w przypadku opisów.
Przyczyna | Domena | Kod stanu HTTP | Opis |
---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | Przekroczono limit dzienny. |
keyInvalid |
usageLimits |
400 | Twój klucz interfejsu API nie jest prawidłowy w przypadku interfejsu Geolocation API. Upewnij się, że: klucz jest kompletny, interfejs API został kupiony lub włączone zostało rozliczenie i zrealizowana aktywacja interfejsu API, aby uzyskać bezpłatny limit. |
userRateLimitExceeded |
usageLimits |
403 | Przekroczono limit próśb skonfigurowany w konsoli Google Cloud. Ten limit jest zwykle ustawiany jako liczba żądań na dzień, liczba żądań na 100 sekund lub liczba żądań na 100 sekund na użytkownika. Należy skonfigurować limit, aby zapobiec wyczerpaniu dziennego limitu przez pojedynczego użytkownika lub małą grupę użytkowników, a jednocześnie zapewnić wszystkim użytkownikom odpowiedni dostęp. Aby skonfigurować te limity, zapoznaj się z artykułem Ograniczanie użycia interfejsu API. |
notFound |
geolocation |
404 | Zapytanie było prawidłowe, ale nie zwróciło żadnych wyników. |
parseError |
global |
400 | Treść żądania nie jest prawidłowym plikiem JSON. Szczegółowe informacje o każdym polu znajdziesz w sekcji Treść żądania. |