Dépannage

Erreurs

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

La réponse contient un objet avec un seul objet error avec les éléments suivants : clés:

  • 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 le résultat suivant : erreur:

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

Exemples d'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 demande. Assurez-vous d'avoir inclus la clé complète et d'avoir activé l'API pour cette clé.
400 INVALID_ARGUMENT "\"chemin d'accès\" contient une valeur non valide: 😎. Votre demande contenait des arguments non valides. Les causes les plus probables de cette erreur sont:
  • Un problème est survenu avec votre paramètre path.
    Veuillez vous assurer qu'il y en a au moins 1 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ées par une barre verticale : '|'.
  • Votre demande comprenait un placeId non valide.
  • Votre demande comprenait à 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 s'affiche pas 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 demande non enregistrée a été bloquée. Veuillez vous inscrire via Google Developers la console Cloud. 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 dans votre compte.
  • Une limite d'utilisation que vous avez définie a été dépassée.
  • Le mode de paiement fourni n'est plus valide (par exemple, carte de crédit est arrivée à expiration).

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 définie dans le console Google Cloud Platform. Cette limite est généralement définie le nombre de requêtes par jour, toutes les 100 secondes et par utilisateur. Cette limite doit être configurée pour éviter qu'un seul les utilisateurs d'épuiser votre quota quotidien, tout en permettant pour tous les utilisateurs. Consultez la page Limiter l'utilisation des API. pour configurer ces limites.

Intervalle exponentiel entre les tentatives

En cas d'échec des requêtes, assurez-vous de relancer les requêtes avec une 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, et ainsi de suite. Ce garantit que les requêtes erronées ou les échecs à grande échelle n'inondent pas 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 capturer la position de mon véhicule ?
Toutes les 1 à 10 secondes sont recommandées pour obtenir des résultats rapides et 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 la latitude et la longitude que j'ai enregistrées ? paires ?
Pour s'assurer que les tracés enregistrés suivent les routes à tous les niveaux de zoom, même au niveau de zoom maximal, vous devez stocker les paires latitude/longitude ancrées sur 7 décimales.
Puis-je utiliser des polylignes encodées pour afficher des tracés ancrés ?
Les polylignes encodées sont spécifiées avec une précision de cinq décimales seulement, ce qui entraîne une erreur d'environ 2 mètres. Les polylignes encodées sont donc Cette option n'est pas adaptée si vous souhaitez que les tracés enregistrés suivent la route à un niveau de zoom élevé. et des niveaux de service.

Problèmes courants

Certains points ne sont pas ancrés, ou certains tracés présentent des blancs. Comment J'ai corrigé ceci ?
  • Si vous échantillonnez vos points à intervalles réguliers, assurez-vous qu'ils sont sont échantillonnés à des intervalles plus courts (toutes les 1 à 10 secondes). Si un intervalle plus long est utilisé (par exemple, 60 secondes), il est possible que l'algorithme de l'annonce du tracé de la route ne puisse pas 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 n'est pas à la hauteur. L'algorithme d'ancrage fonctionne mieux pour les points proches les uns des autres. Essayez la fonctionnalité Snap to Roads ou utilisez l'outil Roads dans l'outil d'inspection pour tester vos chemins.
Pourquoi mes tracés tracés sont-ils irréguliers ou légèrement décalés par rapport à la route lorsque je faire un zoom avant ?
  • La précision des paires latitude/longitude ancrées est-elle tronquée ? avant de les afficher ? Stocker des paires latitude/longitude ancrées à une inférieure à sept décimales provoque des erreurs de précision lorsque le le tracé tracé s'affiche sur la carte.
  • Utilisez-vous des polylignes encodées ? Troncation des polylignes encodées de latitude/longitude à cinq décimales, ce qui introduit une erreur de sur plusieurs mètres, ce qui crée des lignes irrégulières ou légèrement décalées par rapport à la à 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 ce qui les a contraints à ne plus être synchronisés avec l'index de route utilisé l'ancrage. Si seulement quelques-unes de vos requêtes sont concernées, il s'agit probablement la cause. Étant donné que Google Maps est mis à jour régulièrement, cela peut arriver de temps en temps. Elles peuvent survenir plus souvent si vous consultez régulièrement d'anciens trajets sur une carte (par (par exemple, des chemins qui ont été ancrés il y a plusieurs semaines). Pour une visualisation optimale, vous devez ancrer à nouveau les anciens tracés juste avant de les afficher sur une carte, afin de de réduire les incohérences entre les tuiles de carte et l'index de route utilisé pour l'ancrage.

Quelle peut être l'origine de l'affichage incorrect de la limitation de vitesse de la route X ?
Les limitations de vitesse proviennent de plusieurs sources dont la précision et la couverture varient. Si vous identifiez un motif (limitation de vitesse pour un type de route en particulier, par exemple), des erreurs dans un domaine donné, procédez comme suit : pour nous en informer:
  1. Ouvrez Google Maps sur votre ordinateur OU ouvrez l'application Google Maps pour Android
  2. Ouvrez le menu de 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 la colonne "Autre", , indiquez que la limitation de vitesse est inexacte pour cette route.
  8. Sélectionnez Envoyer.
Vous pouvez également signaler d'autres problèmes ici (par exemple, si la nom incorrect, s'il est mal tracé, fermé ou privé).
Pourquoi mon tracé tracé coupe-t-il des angles 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érifier 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é tracé pour une sans modification de la limitation de vitesse ?
Lorsque le paramètre interpolate est défini sur true, la requête "Aligner sur la route" renvoie une polyligne qui suit la route autour des angles, les courbes et les ronds-points. Si la route est incurvée, plusieurs sections de route 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.