Dépannage

Erreurs

En cas d'erreur, un corps de réponse d'erreur au format standard est renvoyé et le code d'état HTTP est défini sur un état d'erreur.

La réponse contient un objet avec un seul objet error avec les clés suivantes:

  • code: identique à l'état HTTP de la réponse.
  • message: brève description de l'erreur.
  • status: code d'état indiquant la nature de l'erreur.

Par exemple, l'envoi d'un paramètre placeId incorrect renvoie l'erreur suivante:

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

Voici les erreurs possibles :

Code État Message Dépannage
400 INVALID_ARGUMENT La clé que vous avez fournie n'est pas valide. Votre clé API n'est pas valide ou n'a pas été incluse dans la requête. Veuillez vous assurer d'avoir inclus la clé entière et d'avoir activé l'API pour cette clé.
400 INVALID_ARGUMENT Le paramètre "\"path\" contient une valeur non valide: ☃" Votre requête contenait des arguments non valides. Les causes les plus probables de cette erreur sont les suivantes :
  • Problème avec votre paramètre path.
    Veuillez vous assurer que vous avez au moins un point et moins de 100 points. Chaque point doit être une paire de nombres séparés par une virgule, par exemple: 48.409114,-123.369158. Les points doivent être séparés par une barre verticale: '|'.
  • Votre requête incluait un placeId non valide.
  • Votre requête incluait à la fois des placeId et un path. Vous ne pouvez spécifier qu'un seul de ces paramètres pour chaque requête.

Cette erreur ne sera pas renvoyée si un placeId est transmis pour une route qui n'existe plus ou pour un lieu qui n'est pas une route.

403 PERMISSION_DENIED La requête non enregistrée a été bloquée. Veuillez vous inscrire via la Google Developers Console. La demande a été refusée pour une ou plusieurs des raisons suivantes :
  • La clé API est manquante ou non valide.
  • La facturation n'a pas été activée sur votre compte.
  • La limite d'utilisation que vous avez définie vous-même a été dépassée.
  • Le mode de paiement fourni n'est plus valide (une carte de crédit est arrivée à expiration, par exemple).

Pour utiliser les produits Google Maps Platform, vous devez activer la facturation dans votre compte, et toutes les requêtes doivent inclure une clé API valide. Pour résoudre ce problème, procédez comme suit:

404 NOT_FOUND Le protocole HTTPS est obligatoire pour ce service. Assurez-vous d'envoyer des requêtes à https://roads.googleapis.com/ et non à http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED La requête a été limitée, car les limites de requêtes de projet ont été atteintes. Vous avez dépassé la limite de requêtes que vous avez configurée dans la console Google Cloud Platform. Cette limite est généralement définie en termes de requêtes par jour, de requêtes toutes les 100 secondes et de requêtes toutes les 100 secondes par utilisateur. Cette limite doit être configurée pour empêcher un seul utilisateur ou un petit groupe d'utilisateurs d'épuiser votre quota quotidien, tout en permettant un accès raisonnable à tous les utilisateurs. Pour configurer ces limites, consultez la section Limiter l'utilisation des API.

Intervalle exponentiel entre les tentatives

Lorsque les requêtes échouent, vous devez vous assurer de les relancer avec un intervalle exponentiel entre les tentatives. Par exemple, si une requête échoue une fois, réessayez au bout d'une seconde. Si elle échoue à nouveau, réessayez au bout de deux secondes, puis de quatre secondes, et ainsi de suite. Cela garantit que les requêtes défectueuses ou les échecs à grande échelle n'inondent pas les serveurs de Google, car de nombreux clients tentent de réessayer les requêtes très rapidement.

Questions fréquentes sur le dépannage

Problèmes d'implémentation

À quelle fréquence dois-je échantillonner la position de mon véhicule ?
Nous vous recommandons de l'utiliser toutes les 1 à 10 secondes pour obtenir des résultats de recadrage sur la route de haute qualité.
Le nombre de points que je peux envoyer par requête est-il limité ?
Oui, une requête ne peut comporter au maximum 100 points.
Quel niveau de précision dois-je utiliser pour stocker mes paires de latitude/longitude associées ?
Pour vous assurer que les tracés accrochés suivent les routes à tous les niveaux de zoom, même au niveau de zoom maximal, vous devez stocker vos paires de latitude/longitude accrochées avec une précision de sept décimales.
Puis-je utiliser des polylignes encodées pour afficher des tracés accrochés ?
Les polylignes encodées ne sont spécifiées qu'avec une précision de cinq décimales, ce qui entraîne une erreur d'environ deux mètres. Les polylignes encodées ne sont donc pas adaptées si vous souhaitez que vos tracés accrochés suivent la route à des niveaux de zoom élevés.

Problèmes courants

Certains points ne sont pas alignés ou des espaces apparaissent dans les tracés alignés. Comment puis-je corriger ce problème ?
  • Si vous échantillonnez vos points à intervalles réguliers, assurez-vous qu'ils sont échantillonnés à des intervalles plus courts (toutes les 1 à 10 secondes). Si un intervalle plus long est utilisé (par exemple, 60 secondes), l'algorithme d'ancrage sur la route risque de ne pas pouvoir déterminer les routes parcourues avec une précision suffisante.
  • Si vous cliquez manuellement sur une carte pour créer des points, il est très facile de créer des tracés avec peu de points ou des points clairsemés que l'algorithme d'ancrage ne gère pas bien. L'algorithme d'ancrage fonctionne mieux pour les points proches les uns des autres. Essayez la démonstration de l'ancrage aux routes ou utilisez l'outil d'inspection des routes pour tester vos parcours.
Pourquoi mes tracés accrochés sont-ils dentelés ou légèrement éloignés de la route lorsque je fais un zoom avant ?
  • Tronquez-vous la précision des paires de latitude/longitude avant de les afficher ? Le stockage de paires de latitude/longitude tronquées avec une précision inférieure à sept décimales entraîne des erreurs de précision lorsque le tracé tronqué s'affiche sur la carte.
  • Utilisez-vous des polylignes encodées ? Les polylignes encodées tronquent les paires de latitude/longitude à cinq décimales, ce qui introduit une erreur de plusieurs mètres, ce qui entraîne des lignes irrégulières ou légèrement éloignées de la route à des niveaux de zoom élevés.

Si aucun des cas ci-dessus ne s'applique, il est possible que les tuiles de la carte aient été mises à jour récemment, ce qui les a désynchronisées avec l'index routier utilisé pour l'ancrage. Si seules quelques-unes de vos requêtes sont concernées, il s'agit probablement de la cause. Étant donné que Google Maps est mis à jour régulièrement, cela peut se produire de temps en temps, et plus souvent si vous consultez régulièrement d'anciens tracés sur une carte (par exemple, des tracés créés il y a plusieurs semaines). Pour une visualisation optimale, vous devez réancrer les anciens chemins juste avant de les afficher sur une carte afin de minimiser les incohérences entre les tuiles de carte et l'indice routier utilisé pour l'ancrage.

Pourquoi la limitation de vitesse de la route X s'affiche-t-elle de manière incorrecte ?
Les limites de vitesse proviennent de plusieurs sources dont la précision et la couverture varient. Si vous constatez une tendance, par exemple que les limites de vitesse d'un type de route particulier ou d'une zone spécifique sont systématiquement incorrectes, veuillez suivre la procédure ci-dessous pour nous en informer :
  1. Ouvrez Google Maps sur votre ordinateur de bureau OU l'application Google Maps pour Android.
  2. Ouvrez le menu de gauche.
  3. Sélectionnez Envoyer des commentaires. Remarque: Vous devrez peut-être vous connecter.
  4. Sélectionnez Modifier la carte.
  5. Sélectionnez le segment de route que vous souhaitez modifier.
  6. Sélectionnez Suivant.
  7. Dans le champ "Autre", indiquez que la limite de vitesse est incorrecte pour cette route.
  8. Sélectionnez Envoyer.
Vous pouvez également signaler d'autres problèmes ici (par exemple, si le nom de la route est incorrect, si elle est mal dessinée, si elle est fermée ou si elle est privée).
Pourquoi mon tracé s'arrête-t-il au coin des rues au lieu de suivre la route ?
Pour résoudre ce problème, vérifiez les points suivants :
  • Assurez-vous que le paramètre interpolate est défini sur true.
  • Vérifiez que vos points de données d'origine sont échantillonnés à des intervalles suffisamment proches (toutes les 1 à 10 secondes).
Pourquoi de nombreux segments de route sont-ils renvoyés dans le tracé associé à une route sans modification de la limite de vitesse ?
Lorsque le paramètre interpolate est défini sur true, la requête d'ancrage sur la route renvoie une polyligne qui suit la route autour des virages, des courbes et des ronds-points. Si la route est sinueuse, plusieurs sections de route sont renvoyées, même si la limite de vitesse ne change pas, afin de créer une polyligne qui suit de près la géométrie de la route.