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 et 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 non valide 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. Assurez-vous d'avoir inclus la clé complète 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. Voici les causes les plus probables de cette erreur :
  • Votre paramètre path présente un problème.
    Veuillez vous assurer que vous avez au moins 1 points 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 demande incluait un élément placeId non valide.
  • Votre requête incluait à la fois des placeId et un path. Un seul de ces paramètres peut être spécifié pour chaque requête.

Cette erreur n'est 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 Une 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.
  • Une 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 que vous puissiez utiliser les produits Google Maps Platform, la facturation doit être activée sur 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 HTTPS est requis 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 du 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 sous la forme de requêtes par jour, de requêtes pour 100 secondes et de requêtes toutes les 100 secondes par utilisateur. Cette limite doit être configurée pour empêcher un seul ou un petit groupe d'utilisateurs d'épuiser votre quota quotidien, tout en accordant un accès raisonnable à tous les utilisateurs. Consultez la section Limiter l'utilisation des API pour configurer ces limites.

Intervalle exponentiel entre les tentatives

Lorsqu'une requête échoue, veillez à relancer les requêtes avec un intervalle exponentiel entre les tentatives. Par exemple, si une requête échoue une fois, réessayez après une seconde. Si elle échoue à nouveau, réessayez après deux secondes, puis quatre secondes, etc. Cela garantit que les requêtes interrompues ou les échecs à grande échelle n'inondent pas les serveurs de Google, car de nombreux clients essaient de relancer les requêtes très rapidement.

FAQ sur le dépannage

Problèmes d'implémentation

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

Problèmes courants

Certains points ne sont pas ancrés ou certains tracés présentent des trous. Comment puis-je corriger cela ?
  • Si vous échantillonnez vos points à intervalles réguliers, assurez-vous qu'ils le sont à des intervalles plus courts (toutes les 1 à 10 secondes). Si vous utilisez un intervalle plus long (60 secondes, par exemple), l'algorithme de suivi du tracé de la route risque de ne pas pouvoir déterminer les routes empruntées 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 creux que l'algorithme d'ancrage ne gère pas correctement. L'algorithme d'ancrage fonctionne mieux pour les points proches les uns des autres. Essayez la démonstration Snap to Roads (Aligner sur les routes) ou utilisez l'outil d'inspection des routes pour tester vos tracés.
Pourquoi mes trajets tracés sont-ils déchiquetés ou légèrement en retrait de la route lorsque je fais un zoom avant ?
  • Est-ce que vous tronquez la précision des paires latitude/longitude ancrées avant de les afficher ? Le stockage de paires latitude/longitude ancrées avec une précision inférieure à 7 chiffres décimaux entraîne des erreurs de précision lorsque le tracé ancré est affiché sur la carte.
  • Utilisez-vous des polylignes encodées ? Les polylignes encodées tronque les paires 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 aucune des situations ci-dessus n'est remplie, il est possible que les tuiles de carte aient été mises à jour récemment et qu'elles ne soient plus synchronisées avec l'index de la route utilisé pour l'ancrage. Si seulement quelques-unes de vos requêtes sont affectées, cela peut en être la cause. Étant donné que Google Maps est mis à jour régulièrement, cette situation peut parfois se produire de façon occasionnelle, voire plus souvent si vous consultez régulièrement d'anciens chemins sur une carte (par exemple, des tracés ancrés il y a plusieurs semaines). Pour une visualisation optimale, vous devez ancrer de nouveau les anciens tracés juste avant de les afficher sur une carte, afin de réduire les incohérences entre les tuiles de la carte et l'index routier utilisé pour l'ancrage.

Pour quelle raison la limitation de vitesse de la route X peut-elle s'afficher de manière incorrecte ?
Les limitations de vitesse proviennent de plusieurs sources dont la précision et la couverture varient. Si vous constatez qu'une tendance est incorrecte (limitation de vitesse pour un type de route en particulier ou dans une zone particulière, par exemple), veuillez nous le signaler en procédant comme suit :
  1. Ouvrez Google Maps sur votre ordinateur OU dans l'application Google Maps pour Android.
  2. Ouvrez le menu sur la gauche.
  3. Sélectionnez Envoyer des commentaires. Remarque: vous serez peut-être invité à vous connecter.
  4. Sélectionnez Modifier la carte.
  5. Sélectionnez la section de route à modifier.
  6. Sélectionnez Suivant.
  7. Dans le champ "Autre", indiquez que la limitation 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 d'une route est incorrect, si elle est mal tracée, si elle est fermée ou privée).
Pourquoi mon tracé angulé coupe-t-il des virages au lieu de suivre la route ?
Pour corriger 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 nombreuses sections de route sont-elles renvoyées dans le tracé tracé d'une route sans modification des limites 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 les angles, les courbes et les ronds-points de la route. Si la route est incurvée, plusieurs sections de route sont renvoyées même si la limitation de vitesse ne change pas, afin de créer une polyligne qui suit de près la géométrie de la route.