Ниже приведены советы по устранению распространенных проблем.
Почему радиус точности очень большой?
Если в ответе Geolocation API указано очень высокое значение в поле accuracy, возможно, сервис определяет местоположение на основе 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 поставщика геоданных из нескольких источников.
iOS-устройства. Используйте фреймворк Apple Core Location.
Описания ошибок
Ниже приведены возможные ошибки и их описания.
| Причина | Поместье | Код статуса HTTP | Описание |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | Вы превысили дневное ограничение. |
keyInvalid |
usageLimits |
400 | Ваш ключ API недействителен для Geolocation API. Убедитесь, что вы указали ключ полностью и что вы либо приобрели API, либо настроили платежный аккаунт и активировали API, чтобы получить бесплатную квоту. |
userRateLimitExceeded |
usageLimits |
403 | Вы превысили лимит запросов, заданный в консоли Google Cloud. Обычно это ограничение задается как количество запросов в день, количество запросов за 100 секунд и количество запросов за 100 секунд на пользователя. Рекомендуем настроить лимит так, чтобы один пользователь или небольшая группа пользователей не могли исчерпать суточную квоту, но при этом все пользователи имели достаточный доступ. Подробнее о том, как настроить ограничения на использование API… |
notFound |
geolocation |
404 | Запрос составлен правильно, однако результаты не получены. |
parseError |
global |
400 | Основная часть запроса не соответствует формату JSON. Подробные сведения о каждом поле приведены в разделе Тело запроса. |