Aquí tienes algunas sugerencias para solucionar problemas comunes.
¿Por qué el radio de precisión es muy grande?
Si tu respuesta de Geolocation muestra un valor muy alto en el campo de precisión, es posible que el servicio esté geolocalizando en función de la IP de la solicitud, en lugar de los puntos de Wi-Fi o las torres de telefonía celular. Este tipo de respuestas pueden ocurrir si el servicio no reconoce ninguna torre de telefonía celular ni ningún punto de acceso.
Para confirmar que el servicio no pudo geolocalizar tus puntos de acceso, establece considerIp como falso en tu solicitud. Si la respuesta es 404, confirmaste que no se pudieron geolocalizar tus objetos wifiAccessPoints y cellTowers.
¿Cómo soluciono un error de respuesta?
Si tu solicitud genera un error, el sistema muestra un cuerpo de respuesta de error con formato estándar y establece el código de estado HTTP en un estado de error.
La respuesta de error contiene un objeto con un solo objeto de error con las siguientes claves:
code: Es el mismo que el estado HTTP de la respuesta.message: Es una breve descripción del error.errors: Es una lista de los errores que se produjeron. Cada error contiene un identificador para el tipo de error (el motivo) y una breve descripción (el mensaje).
Por ejemplo, enviar un JSON no válido muestra el siguiente error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Recopila información de prueba de los dispositivos
Para realizar pruebas adicionales, puedes recopilar información de tu dispositivo con los servicios de ubicación integrados que ofrece cada plataforma:
Dispositivos Android: Usa LocationManager o la API de proveedor de ubicación combinada.
Dispositivos iOS: Usa el framework de Core Location Apple.
Descripciones de errores
Estos son los posibles errores que puedes encontrar con sus descripciones.
| Motivo | Dominio | Código de estado HTTP | Descripción |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | Superaste tu límite diario. |
keyInvalid |
usageLimits |
400 | Tu clave de API no es válida para la API de Geolocation. Asegúrate de incluir la clave completa y de haber comprado la API o de haber habilitado la facturación y activado la API para obtener la cuota sin cargo. |
userRateLimitExceeded |
usageLimits |
403 | Superaste el límite de solicitudes que configuraste en la consola de Google Cloud. Por lo general, este límite se establece como solicitudes por día, solicitudes por cada 100 segundos, y solicitudes por cada 100 segundos por usuario. Debes configurar tu límite para evitar que un solo usuario o un grupo pequeño de usuarios agoten tu cuota diaria, y, al mismo tiempo, permitir un acceso razonable a todos los usuarios. Consulta Limita el uso de la API para configurar estos límites. |
notFound |
geolocation |
404 | La solicitud fue válida, pero no se devolvieron resultados. |
parseError |
global |
400 | El cuerpo de la solicitud no posee formato JSON válido. Consulta la sección Cuerpo de la solicitud para obtener detalles sobre cada campo. |