Dépannage

Erreurs

En cas d'erreur, un corps de réponse d'erreur de 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 doté des 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 :

Coder État d'un 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 vérifier que vous avez inclus l'intégralité de la clé et que vous avez activé l'API pour cette clé.
400 INVALID_ARGUMENT Le paramètre "\"path\" contient une valeur non valide: jpeg" Votre requête contenait des arguments non valides. Voici les causes les plus probables de cette erreur :
  • Un problème est survenu avec votre paramètre path.
    Assurez-vous d'avoir entre une et 100 points. Chaque point doit être constitué d'une paire de chiffres 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 inclut un placeId non valide.
  • Votre requête incluait à la fois placeId et path. Un seul de ces paramètres peut être spécifié pour chaque requête.

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

403 PERMISSION_DENIED La demande 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.
  • Vous avez dépassé la limite d'utilisation que vous avez définie.
  • 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 en raison du dépassement des limites de requêtes de projet. 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 sur 1 requêtes par jour, 100 secondes et 100 secondes par utilisateur. Cette limite doit être configurée pour empêcher un ou plusieurs groupes d'utilisateurs d'épuiser votre quota quotidien, tout en permettant un accès raisonnable à tous les utilisateurs. Consultez la section Limiter l'utilisation des API pour configurer ces limites.

Intervalle exponentiel entre les tentatives

En cas d'échec des requêtes, assurez-vous de les relancer avec un intervalle exponentiel entre les tentatives. Par exemple, en cas d'échec d'une requête, réessayez après une seconde, en cas d'échec, réessayez après deux secondes, quatre secondes, etc. Cela garantit que les requêtes défaillantes ou les échecs à grande échelle n'inondent pas les serveurs de Google, car de nombreux clients tentent de relancer 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 ?
Pour des résultats de qualité de l'alignement sur la route, de préférence pour un trajet de 1 à 10 secondes.
Le nombre de points que je peux envoyer par requête est-il limité ?
Oui, une requête ne peut pas comporter plus de 100 points.
Quel niveau de précision dois-je utiliser pour stocker mes paires latitude/longitude alignées ?
Pour vous assurer que les tracés alignés suivent les routes à tous les niveaux de zoom, même au niveau maximal de zoom, vous devez stocker vos paires latitude/longitude ancrées avec sept décimales de précision.
Puis-je utiliser des polylignes encodées pour afficher des tracés ancrés ?
Les polylignes encodées ne sont spécifiées qu'avec une précision de 5 décimales, ce qui génère une erreur d'environ 2 mètres. Les polylignes encodées ne sont donc pas adaptées si vous souhaitez que vos tracés alignés suivent la route à des niveaux de zoom élevés.

Problèmes fréquents

Certains points d'ancrage ne sont pas ancrés ou les chemins d'accès ne sont pas alignés. Comment puis-je corriger cela ?
  • Si vous échantillonnez vos points à intervalles planifiés, 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 de suivi du tracé de 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 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émo Snap to Roads ou utilisez l'outil d'inspection des routes pour tester vos chemins.
Pourquoi mes chemins tracés sont-ils irréguliers ou légèrement en dehors de la route lorsque je zoome ?
  • tronquez-vous 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 après la virgule entraîne des erreurs de précision lorsque le tracé tronqué est affiché sur la carte.
  • Utilisez-vous des polylignes encodées ? Les polylignes encodées tronquent les paires latitude/longitude à 5 décimales, ce qui introduit une erreur de plusieurs mètres, ce qui se traduit par des lignes irrégulières ou irrégulières depuis la route à des niveaux de zoom élevés.

Si aucun des cas ci-dessus ne s'applique, il se peut que les tuiles de carte aient été mises à jour récemment, ce qui les a rendues non synchronisées avec l'index utilisé pour l'ancrage. Il est probable que seules quelques-unes de vos requêtes soient affectées. Étant donné que Google Maps est mis à jour régulièrement, cela peut se produire de manière occasionnelle et se produire plus souvent si vous examinez régulièrement d'anciens tracés sur une carte (par exemple, les tracés qui ont été ancrés il y a plusieurs semaines). Pour optimiser la visualisation, vous devez ancrer 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 utilisé pour l'ancrage.

Quelle peut être la cause d'un problème d'affichage de la limitation de vitesse sur la route X ?
Les limites de vitesse proviennent de plusieurs sources, dont la précision et la couverture varient. Si vous constatez un schéma, par exemple les limitations de vitesse d'un type de route particulier ou d'une zone géographique particulièrement incorrecte, procédez comme suit pour nous en informer :
  1. Ouvrez Google Maps sur votre ordinateur OU 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 de la route est incorrect, qu'il est mal tracé, fermé ou privé).
Pourquoi mon tracé s'atténue 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 à intervalles suffisamment rapprochés (toutes les 1 à 10 secondes).
Pourquoi de nombreux segments de route sont-ils renvoyés dans le chemin d'ancrage d'une route sans changement de limitation de vitesse ?
Lorsque le paramètre interpolate est défini sur true, la requête d'ancrage renvoie une polyligne qui suit la route autour des angles, des courbes et des ronds-points. Si les courbes de route sont renvoyées, plusieurs sections de route sont renvoyées, même si la limitation de vitesse ne change pas, afin de créer une polyligne qui se rapproche de la géométrie de la route.