Oto kilka wskazówek dotyczących rozwiązywania typowych problemów.
Dlaczego promień dokładności jest bardzo duży?
Jeśli w odpowiedzi na zapytanie o geolokalizację w polu dokładności pojawi się bardzo wysoka wartość, usługa może określać lokalizację na podstawie adresu IP żądania, a nie punktów Wi-Fi ani stacji bazowych. Takie odpowiedzi mogą się pojawiać, jeśli usługa nie rozpoznaje żadnych stacji bazowych ani punktów dostępu.
Aby potwierdzić, że usługa nie mogła określić lokalizacji punktów dostępu, ustaw w żądaniu wartość considerIp na false. Jeśli odpowiedź to 404, oznacza to, że nie udało się określić lokalizacji obiektów wifiAccessPoints i cellTowers.
Jak rozwiązać problem z błędem w odpowiedzi?
Jeśli żądanie wygeneruje błąd, system zwróci treść odpowiedzi o błędzie w standardowym formacie i ustawi kod stanu HTTP na stan błędu.
Odpowiedź o błędzie zawiera obiekt z pojedynczym obiektem błędu z tymi kluczami:
code– jest to ten sam kod stanu HTTP co w odpowiedzi.message– krótki opis błędu.errors– lista błędów, które wystąpiły. Każdy błąd zawiera identyfikator typu błędu (przyczynę) i krótki opis (komunikat).
Na przykład wysłanie nieprawidłowego kodu JSON spowoduje zwrócenie tego błędu:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Zbieranie informacji testowych z urządzeń
Aby przeprowadzić dodatkowe testy, możesz zbierać informacje z urządzenia za pomocą wbudowanych usług lokalizacyjnych oferowanych przez każdą platformę:
Urządzenia z Androidem: użyj interfejsu LocationManager lub interfejsu API dostawcy uśrednionej lokalizacji.
Urządzenia z iOS: użyj platformy Apple Core Location.
Opisy błędów
Poniżej znajdziesz opisy możliwych błędów, które mogą wystąpić.
| Przyczyna | Domena | Kod stanu HTTP | Opis |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | Przekroczono limit dzienny. |
keyInvalid |
usageLimits |
400 | Klucz interfejsu API jest nieprawidłowy w przypadku interfejsu Geolocation API. Pamiętaj, aby podać cały klucz oraz że interfejs API został kupiony lub że masz włączone rozliczenia i aktywowany interfejs API, aby uzyskać limit bezpłatnie. |
userRateLimitExceeded |
usageLimits |
403 | Przekroczono limit żądań skonfigurowany w konsoli Google Cloud. Ten limit jest zwykle ustawiany jako liczba żądań na dzień, liczba żądań na 100 sekund, i liczba żądań na 100 sekund na użytkownika. Skonfiguruj limit tak, aby uniemożliwić jednemu użytkownikowi lub małej grupie użytkowników wyczerpanie dziennego limitu, a jednocześnie zapewnić wszystkim użytkownikom rozsądny dostęp. Aby skonfigurować te limity, zapoznaj się z artykułem Ograniczanie wykorzystania interfejsu API. |
notFound |
geolocation |
404 | Żądanie było prawidłowe, ale nie zwrócono żadnych wyników. |
parseError |
global |
400 | Treść żądania nie jest prawidłowym kodem JSON. Szczegółowe informacje o każdym polu znajdziesz w sekcji Treść żądania. |