Rozwiązywanie problemów

Oto kilka wskazówek dotyczących rozwiązywania typowych problemów.

Dlaczego promień dokładności jest bardzo duży?

Jeśli w odpowiedzi z interfejsu Geolocation API 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 może 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 taki sam jak stan HTTP 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ę:

Opisy błędów

Oto możliwe błędy, które możesz napotkać, wraz z opisami.

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. Upewnij się , że podajesz cały klucz oraz że masz wykupiony dostęp do interfejsu API lub 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.