Solución de problemas

Errores

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

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

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

Por ejemplo, si se envía 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:
  • Un problema con el parámetro path.
    Asegúrate de tener al menos 1 y menos de 100 puntos. Cada punto debe ser un par de números separados por una coma, como: 48.409114,-123.369158. Los puntos deben estar separados por una barra vertical: '|'.
  • Tu solicitud incluyó un placeId no válido.
  • Tu solicitud incluyó placeIds y un path. Solo se puede especificar uno de estos parámetros para cada solicitud.

Este error no se mostrará 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 debido a uno o más de los siguientes motivos:
  • Falta la clave de API o no es válida.
  • La facturación no está habilitada 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 el Google Cloud Platform Console. Por lo general, este límite se establece como solicitudes por día, solicitudes por 100 segundos y solicitudes por 100 segundos por usuario. Este límite debe configurarse para evitar que un solo usuario o un grupo pequeño de usuarios agoten tu cuota diaria, al mismo tiempo que se permite un acceso razonable acceso a todos los usuarios. Consulta Limita el uso de la API para configurar estos límites.

Retirada exponencial

Cuando las solicitudes fallen, debes asegurarte de reintentarlas con retirada exponencial. Por ejemplo, si una solicitud falla una vez, vuelve a intentarla después de un segundo. Si vuelve a fallar, vuelve a intentarla después de dos segundos, luego cuatro segundos y así sucesivamente. Esto garantiza que las solicitudes rotas o las fallas a gran escala no inunden los servidores de Google, ya que muchos clientes intentan reintentar las solicitudes muy rápido.

Preguntas frecuentes sobre la solución de problemas

Problemas de implementación

¿Con qué frecuencia debo muestrear la ubicación de mi vehículo?
Se recomienda cada 1 a 10 segundos para obtener resultados de ajuste a la ruta de alta calidad.
¿Existe un límite para la cantidad de puntos que puedo enviar por consulta?
Sí, una consulta puede tener como máximo 100 puntos.
¿Qué nivel de precisión debo usar para almacenar mis pares de latitud y longitud ajustados?
Para garantizar que las rutas ajustadas sigan las rutas en todos los niveles de zoom, incluso en el nivel de zoom máximo, debes almacenar tus 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 en niveles de zoom altos.

Problemas comunes

Algunos puntos no se ajustan o tengo espacios en las rutas ajustadas. ¿Cómo puedo corregirlo?
  • Si muestras tus puntos en intervalos de tiempo, asegúrate de que se muestren en intervalos más cortos (cada 1 a 10 segundos). Si se usa 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 la precisión suficiente.
  • 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 maneja bien. El algoritmo de ajuste funciona mejor para los puntos que están cerca unos de otros. Prueba la demostración de ajuste a la ruta o usa el inspector de rutas para probar tus rutas.
¿Por qué mis rutas ajustadas son irregulares o están ligeramente desviadas de la ruta cuando hago zoom?
  • ¿Estás truncando 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 decimales causa errores de precisión cuando la ruta ajustada se muestra en el mapa.
  • ¿Estás usando polilíneas codificadas? Las polilíneas codificadas truncan los pares de latitud y longitud a 5 decimales, lo que introduce un error de varios metros, lo que da como resultado líneas irregulares o ligeramente desviadas de la ruta en niveles de zoom altos.

Si no es así, es posible que los mosaicos del mapa se hayan actualizado recientemente, lo que provocó que se desincronizaran con el índice de rutas que se usa para el ajuste. Si solo se ven afectadas algunas de tus consultas, es probable que sea la causa. Como Google Maps se actualiza con regularidad, esto puede suceder ocasionalmente y puede ocurrir con más frecuencia si miras rutas antiguas en un mapa con regularidad (por ejemplo, rutas que se ajustaron hace varias semanas). Para una visualización óptima, debes volver a ajustar las rutas antiguas justo antes de mostrarlas en un mapa para minimizar las incoherencias entre los mosaicos del mapa y el índice de rutas que se usa para el ajuste.

¿Qué podría hacer que el límite de velocidad de la ruta X se muestre de forma incorrecta?
Los límites de velocidad provienen de varias fuentes que varían en precisión y cobertura. Si encuentras un patrón, por ejemplo, límites de velocidad para un tipo de ruta en particular o en un área en particular que sean incorrectos de forma constante, 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 se te solicite que accedas a tu cuenta.
  4. Selecciona Editar el mapa.
  5. Selecciona el segmento 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 el nombre incorrecto, se dibuja de forma incorrecta, está cerrada o es privada).
¿Por qué mi ruta ajustada corta las esquinas en lugar de seguir la ruta?
Para corregir este problema, verifica lo siguiente:
  • Asegúrate de que el parámetro interpolate esté configurado como true.
  • Verifica que tus puntos de datos originales se muestren en intervalos lo suficientemente cercanos (cada 1 a 10 segundos).
¿Por qué recibo muchos segmentos 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 de ajuste a la ruta muestra una polilínea que sigue la ruta alrededor de las esquinas, las curvas y las rotondas. Si la ruta se curva, se muestran varios segmentos de ruta, incluso si el límite de velocidad no cambia, para crear una polilínea que siga de cerca la geometría de la ruta.