Solución de problemas

Errores

En caso de que se produzca un error, se mostrará una respuesta de error en formato estándar y se establecerá el código de estado HTTP en un estado de error.

La respuesta contiene un objeto con un solo objeto error y las siguientes claves:

  • code: Es el mismo estado HTTP de la respuesta.
  • message: Es una descripción breve del error.
  • status: Un código de estado que indica la naturaleza del error

Por ejemplo, si envías un parámetro placeId no válido, se mostrará el siguiente error:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

Los errores posibles incluyen los siguientes:

Código Estado Mensaje Solución de problemas
400 INVALID_ARGUMENT La clave que proporcionaste no es válida. Tu clave de API no es válida o no se incluyó en la solicitud. Asegúrate de haber incluido la clave completa y de haber habilitado la API para esta clave.
400 INVALID_ARGUMENT El parámetro "\"path\" contiene un valor no válido: 😎" Tu solicitud contenía argumentos no válidos. Las causas más probables de este error son las siguientes:
  • Hay un problema con tu parámetro path.
    Asegúrate de tener al menos 1 punto y menos de 100 puntos. Cada punto debe ser un par de números separados por una coma, como el siguiente: 48.409114,-123.369158. Los puntos deben estar separados por una canalización: “|”.
  • Tu solicitud incluía un placeId no válido.
  • Tu solicitud incluía un placeId y un path. Solo se puede especificar uno de estos parámetros para cada solicitud.

No se mostrará este error si se pasa un placeId para una ruta que ya no existe o para un lugar que no es una ruta.

403 PERMISSION_DENIED Se bloqueó la solicitud no registrada. Regístrate con Google Developers Console. Se rechazó la solicitud por uno o más de los siguientes motivos:
  • Falta la clave de API o no es válida.
  • No se habilitó la facturación en tu cuenta.
  • Se superó un límite de uso autoimpuesto.
  • La forma de pago proporcionada ya no es válida (por ejemplo, si venció una tarjeta de crédito).

Para usar los productos de Google Maps Platform, debes tener la facturación habilitada en tu cuenta y todas las solicitudes deben incluir una clave de API válida. Para solucionar este problema, sigue estos pasos:

404 NOT_FOUND Se requiere HTTPS para este servicio. Asegúrate de enviar solicitudes a https://roads.googleapis.com/ y no a http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED Se limitó la solicitud porque se alcanzaron los límites de solicitudes del proyecto. Superaste el límite de solicitudes que configuraste en Google Cloud Platform Console. Por lo general, este límite se establece como solicitudes por día, solicitudes cada 100 segundos y solicitudes cada 100 segundos por usuario. Este límite se debe configurar para evitar que uno o un grupo pequeño de usuarios agoten la cuota diaria, a la vez que se debe permitir el acceso razonable a todos los usuarios. Consulta Limita el uso de la API para configurar estos límites.

Retirada exponencial

Cuando las solicitudes fallan, debes asegurarte de reintentar las solicitudes con retirada exponencial. Por ejemplo, si una solicitud falla una vez, vuelve a intentarlo después de un segundo; si falla de nuevo, reinténtalo después de dos segundos, luego, cuatro segundos y así sucesivamente. Esto garantiza que las solicitudes interrumpidas o las fallas a gran escala no congestionen los servidores de Google, ya que muchos clientes intentan volver a intentar las solicitudes muy rápido.

Preguntas frecuentes sobre la solución de problemas

Problemas de implementación

¿Con qué frecuencia debo tomar muestras de la ubicación de mi vehículo?
Se recomienda usar cada 1 a 10 segundos para obtener resultados de alta calidad de ajuste a la ruta.
¿Existe un límite para la cantidad de puntos que puedo enviar por consulta?
Sí. Una consulta puede tener 100 puntos como máximo.
¿Qué nivel de precisión debo usar para almacenar mis pares de latitud y longitud ajustados?
Para asegurarte de que las rutas ajustadas sigan las rutas en todos los niveles de zoom, incluso en el nivel de zoom máximo, debes almacenar los pares de latitud y longitud ajustados con 7 decimales de precisión.
¿Puedo usar polilíneas codificadas para mostrar rutas ajustadas?
Las polilíneas codificadas solo se especifican con una precisión de 5 decimales, lo que genera un error de aproximadamente 2 metros. Por lo tanto, las polilíneas codificadas no son adecuadas si deseas que tus rutas ajustadas sigan la ruta con altos niveles de zoom.

Problemas habituales

Algunos puntos no se ajustan o hay brechas en rutas ajustadas. ¿Cómo puedo corregirlo?
  • Si muestras tus puntos en intervalos de tiempo, asegúrate de que se muestreen en intervalos más cortos (cada 1 a 10 segundos). Si se utiliza un intervalo más largo (por ejemplo, 60 segundos), es posible que el algoritmo de ajuste a la ruta no pueda determinar las rutas recorridas con suficiente precisión.
  • Si haces clic manualmente en un mapa para crear puntos, es muy fácil crear rutas con pocos puntos o puntos dispersos que el algoritmo de ajuste no maneje bien. El algoritmo de ajuste funciona mejor para puntos que están juntos. Prueba la demostración de Snap to Roads o usa el Inspector de rutas para probar tus rutas.
¿Por qué mis rutas ajustadas están irregulares o ligeramente alejadas de la ruta cuando me acerco?
  • ¿Tratan la precisión de los pares de latitud y longitud ajustados antes de mostrarlos? Almacenar pares de latitud y longitud ajustados con una precisión de menos de 7 puntos decimales genera errores de precisión cuando se muestra la ruta ajustada en el mapa.
  • ¿Estás usando polilíneas codificadas? Las polilíneas codificadas truncan los pares de latitud y longitud en 5 decimales, lo que introduce un error de varios metros, lo que genera líneas dentadas o ligeramente alejadas de la ruta a altos niveles de zoom.

Si no se cumple ninguna de las condiciones anteriores, es posible que los mosaicos del mapa se hayan actualizado recientemente, por lo que no estén sincronizados con el índice de rutas utilizado para el ajuste. Si solo algunas de tus consultas se ven afectadas, es probable que la causa sea esta. Dado que Google Maps se actualiza con frecuencia, esto puede ocurrir ocasionalmente y puede ocurrir con mayor frecuencia si consultas con frecuencia rutas antiguas en un mapa (por ejemplo, rutas que se tomaron hace varias semanas). Para obtener una visualización óptima, debes volver a tomar rutas antiguas justo antes de mostrarlas en un mapa, a fin de minimizar las incoherencias entre los mosaicos del mapa y el índice de rutas utilizado para el ajuste.

¿Por qué motivo se muestra incorrectamente el límite de velocidad de la ruta X?
Los límites de velocidad provienen de varias fuentes que varían en precisión y cobertura. Si encuentras un patrón, por ejemplo, los límites de velocidad para un tipo de ruta en particular o un área en particular con errores constantes, sigue estos pasos para informarnos:
  1. Abre Google Maps en tu computadora de escritorio O la app de Google Maps para Android.
  2. Abre el menú lateral izquierdo.
  3. Selecciona Enviar comentarios. Nota: Es posible que debas acceder a tu cuenta.
  4. Selecciona Editar el mapa.
  5. Selecciona el tramo de ruta que deseas editar.
  6. Selecciona Siguiente.
  7. En el campo "Otro", indica que el límite de velocidad es incorrecto para esa ruta.
  8. Selecciona Enviar.
También puedes informar otros problemas aquí (por ejemplo, si la ruta tiene un nombre incorrecto, está trazada incorrectamente, está cerrada o es privada).
¿Por qué mi ruta cortada recorta las esquinas en lugar de seguir la ruta?
Para corregir este problema, haz lo siguiente:
  • Asegúrate de que el parámetro interpolate esté configurado como true.
  • Verifica que los datos originales se muestreen en intervalos lo suficientemente cercanos (cada 1 a 10 segundos).
¿Por qué obtengo muchos tramos de ruta en la ruta ajustada para una ruta sin cambios en el límite de velocidad?
Cuando el parámetro interpolate se establece en true, la consulta snap-to-road muestra una polilínea que sigue la ruta alrededor de esquinas, curvas y rotondas. Si las curvas de la ruta se muestran, se muestran varios tramos, incluso si el límite de velocidad no cambia, con el fin de crear una polilínea que siga de cerca la geometría de la ruta.