Вот несколько советов по устранению распространенных проблем.
Почему радиус точности так велик?
Если в ответе на запрос геолокации в поле точности отображается очень высокое значение, возможно, служба определяет местоположение на основе IP-адреса запроса, а не точек доступа Wi-Fi или вышек сотовой связи. Такие ответы могут возникать, если служба не распознает ни одной вышки сотовой связи или точки доступа.
Чтобы подтвердить, что сервис не смог определить местоположение ваших точек доступа, установите considerIp в значение false в вашем запросе. Если ответ — 404, вы подтвердили, что ваши объекты wifiAccessPoints и cellTowers не удалось определить по местоположению.
Как устранить ошибку в ответе?
Если ваш запрос приводит к ошибке, система возвращает тело ответа с ошибкой в стандартном формате и устанавливает код состояния HTTP в значение ошибки.
В ответе об ошибке содержится объект, содержащий единственный объект ошибки со следующими ключами:
-
code: Это то же самое, что и HTTP-статус ответа. -
message: Краткое описание ошибки. -
errors: Список произошедших ошибок. Каждая ошибка содержит идентификатор типа ошибки (причину) и краткое описание (сообщение).
Например, отправка некорректного JSON-файла приводит к следующей ошибке:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Соберите информацию о тестировании с устройств.
Для дополнительного тестирования вы можете собрать информацию со своего устройства, используя встроенные службы определения местоположения, предоставляемые каждой платформой:
Для устройств Android используйте LocationManager или API Fused Location Provider .
Устройства iOS : используйте фреймворк Apple Core Location .
Описание ошибок
Вот возможные ошибки, с которыми вы можете столкнуться в описаниях.
| Причина | Домен | Код состояния HTTP | Описание |
|---|---|---|---|
dailyLimitExceeded | usageLimits | 403 | Вы превысили свой суточный лимит . |
keyInvalid | usageLimits | 400 | Ваш API-ключ недействителен для API геолокации. Убедитесь, что вы указали полный ключ и что вы либо приобрели API, либо включили оплату и активировали API, чтобы получить квоту бесплатно. |
userRateLimitExceeded | usageLimits | 403 | You have exceeded the request limit that you configured in the Google Cloud console. This limit is typically set as requests per day, requests per 100 seconds, and requests per 100 seconds per user. You should configure your limit to prevent a single or small group of users from exhausting your daily quota, while still allowing reasonable access to all users. See Capping API Usage to configure these limits. |
notFound | geolocation | 404 | Запрос был действителен, но результатов получено не было. |
parseError | global | 400 | Тело запроса не является допустимым JSON-объектом. Подробную информацию о каждом поле см. в разделе « Тело запроса» . |