Oto kilka wskazówek dotyczących rozwiązywania typowych problemów.
Dlaczego promień dokładności jest bardzo duży?
Jeśli odpowiedź usługi 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 wież telefonii komórkowych. 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 określić geolokalizacji punktów dostępu, ustaw w żądaniu wartość considerIp
na wartość Fałsz. Jeśli odpowiedź to kod 404, oznacza to, że nie udało się zlokalizować obiektów wifiAccessPoints i cellTowers.
Jak rozwiązać problem z błędem 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 to ten sam stan co 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 (komunikat).
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: zapoznaj się z artykułem SDK Miejsc na iOS.
Opisy 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 | Dzienny limit został przekroczony. |
keyInvalid |
usageLimits |
400 | Twój klucz interfejsu API jest nieprawidłowy dla interfejsu Geolocation API. Aby uzyskać limit bez ponoszenia opłat, sprawdź, czy podano cały klucz oraz czy interfejs API został kupiony lub włączono płatności i aktywowano interfejs API. |
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. Skonfiguruj limit, aby nie dopuścić do wyczerpania dziennego limitu przez pojedynczą lub małą grupę użytkowników, a jednocześnie zapewnić uzasadniony dostęp wszystkim użytkownikom. Aby skonfigurować te limity, zapoznaj się z artykułem Ograniczanie użycia interfejsu API. |
notFound |
geolocation |
404 | Żądanie było prawidłowe, ale nie znaleziono żadnych wyników. |
parseError |
global |
400 | Treść żądania nie jest prawidłowym ciągiem tekstowym JSON. Szczegółowe informacje o każdym polu znajdziesz w sekcji Treść żądania. |