Géocoder des adresses - Meilleures pratiques

Le geocoding est le processus de conversion d'adresses (comme une adresse postale) en coordonnées géographiques (latitude et longitude) que vous pouvez utiliser pour placer des repères sur une carte ou pour positionner celle-ci. L'objectif de ce document est de clarifier les points à prendre en compte lors du geocoding d'adresses. Il décrit dans quels cas il est préférable d'utiliser l'API Geocoding et dans quel cas il est utile d'utiliser le service Place Autocomplete de l'API Places.

En règle générale, utilisez l'API Geocoding lors du geocoding d'adresses complètes (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australie"). Utilisez le service Place Autocomplete de l'API Places pour géocoder des adresses ambiguës (incomplètes) ou pour les applications sensibles à la latence, par exemple pour répondre à une saisie utilisateur.

Cas d'utilisation et recommandations d'API

Cas d'utilisation et recommandations d'API
Répondre en temps réel aux entrées des utilisateurs (inclut les adresses ambiguës, incomplètes, mal formatées ou mal orthographiées saisies par un utilisateur) Utilisez le service Place Autocomplete de l'API Places pour obtenir un ID de lieu, puis l'API Geocoding pour géocoder cet ID en latlng.
Traitement automatisé des adresses postales complètes et sans ambiguïté (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australie") Utiliser le service Web de l'API Geocoding
Traitement automatisé des requêtes ambiguës par des systèmes (par exemple, adresses incomplètes, mal formatées ou mal orthographiées) Recommander des systèmes automatisés qui utilisent le service Web de l'API Geocoding Toutefois, les systèmes automatisés présentant un taux élevé de requêtes ambiguës, incomplètes ou mal orthographiées provenant d'entrées utilisateur peuvent bénéficier de l'ajout d'un widget Place Autocomplete interactif pour permettre aux utilisateurs de sélectionner un résultat et ainsi éviter les fautes d'orthographe dans une adresse.
Problèmes de latence avec l'API Directions ou l'API Distance Matrix, avec des points de départ, des destinations ou des points de cheminement spécifiés en tant que chaînes d'adresse Réduisez la latence du geocoding en utilisant le service Place Autocomplete de l'API Places pour obtenir des ID de lieu, puis transmettez-les à l'API Directions ou à l'API Distance Matrix.

Répondre à la saisie de l'utilisateur

Les applications qui répondent en temps réel aux entrées utilisateur doivent prendre en compte deux considérations majeures qui affectent le choix de l'API:

  1. Une saisie de l'utilisateur implique généralement la saisie progressive d'adresse (par exemple, "123 Main Street"). Il est donc préférable de pouvoir géocoder des adresses incomplètes et ambiguës, car cela permet à l'utilisateur d'obtenir un résultat plus rapidement.
  2. La latence est un facteur très important pour les applications qui répondent à la saisie de l'utilisateur.

Ces deux considérations font du service Place Autocomplete de l'API Places la solution idéale pour répondre aux entrées utilisateur. Place Autocomplete est conçu pour renvoyer plusieurs options possibles et permettre aux utilisateurs de choisir entre elles. L'API Places peut être limitée pour rechercher uniquement des géocodes ou des adresses tout en excluant des entreprises. En outre, il est possible d'influencer la fonction de recherche avec saisie semi-automatique pour renvoyer des résultats spécifiques à un lieu. L'API Places renvoie un ID de lieu qui peut être transmis en tant qu'emplacement entièrement clarifié au service Web de l'API Geocoding, qui renvoie ensuite les détails complets de l'adresse et la géocode dans des coordonnées latlng. Les ID de lieu peuvent également être transmis à d'autres API, telles que les API Directions et Distance Matrix (voir ci-dessous).

Le geocoding d'adresses dans l'API Geocoding présente une latence beaucoup plus élevée et produit des résultats moins précis pour les requêtes incomplètes ou ambiguës. Il n'est donc pas recommandé pour les applications qui doivent répondre en temps réel aux entrées utilisateur.

Obtenez plus d'informations sur le service Place Autocomplete pour Android, iOS, JavaScript et l' API Places.

Systèmes automatisés

Traitement automatisé des adresses postales complètes et sans ambiguïté: les requêtes sans ambiguïté, telles que les chaînes d'adresse postale complètes (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australia"), sont mieux gérées par le service Web de l'API Geocoding. Le backend de geocoding d'adresses offre une couverture plus étendue des adresses à l'échelle mondiale. Il est optimisé pour des résultats de haute qualité avec ce type de requêtes complètes et sans ambiguïté.

Traitement automatisé des requêtes ambiguës par le système : celles qui contiennent des adresses au format incorrect ou incomplètes, ou des fautes d'orthographe, sont des requêtes ambiguës. Pour les systèmes automatisés, nous vous recommandons d'utiliser le service Web de l'API Geocoding. Cependant, l'API Geocoding n'est pas conçue pour faire face aux requêtes ambiguës et peut produire des résultats moins précis ou zéro en réponse à des requêtes ambiguës. Si votre système automatisé traite un taux élevé de requêtes ambiguës issues des entrées utilisateur, vous pouvez ajouter un élément interactif à votre application à l'aide du service Place Autocomplete de l'API Places. En effet, celui-ci est conçu pour renvoyer plusieurs options possibles et permettre à l'utilisateur de choisir l'une d'entre elles. L'API Places renvoie un ID de lieu qui peut être transmis en tant qu'emplacement entièrement clarifié au service Web de l'API Geocoding, qui renvoie ensuite les détails complets de l'adresse et la géocode dans des coordonnées latlng. Obtenez plus d'informations sur le service Place Autocomplete pour Android, iOS, JavaScript et l' API Places.

Réduction de la latence pour les API Directions et Distance Matrix

Lorsque des points de départ, des destinations ou des points de cheminement sont spécifiés en tant que chaînes d'adresses, l'API Directions et l' API Distance Matrix utilisent le même backend que l'API Geocoding pour géocoder ces adresses avant de calculer l'itinéraire. Cela augmente considérablement la latence par rapport à la spécification des mêmes emplacements sous forme de coordonnées latlng ou d'ID de lieu.

Si votre application utilise l'API Directions ou Distance Matrix dans une situation sensible à la latence (par exemple, pour répondre à l'entrée utilisateur) et que vos points de départ, destinations ou points de cheminement sont initialement spécifiés en tant que chaînes d'adresse, nous vous recommandons de réduire la latence à l'aide du service Place Autocomplete de l'API Places afin de convertir les chaînes d'adresses en ID de lieu, puis de les transmettre à l'API Directions ou à l'API Distance Matrix. Obtenez plus d'informations sur le service Place Autocomplete pour Android, iOS, JavaScript et l' API Places. Consultez également un exemple JavaScript de saisie semi-automatique et d'itinéraires pour un lieu.

Conclusion

Selon votre cas d'utilisation, lors du geocoding d'adresses, à l'aide de l'API Geocoding ou du service Place Autocomplete en association avec l'API Geocoding, vous pouvez créer des applications qui fournissent aux utilisateurs des résultats de geocoding précis, tout en réduisant la latence.

Gérer les erreurs et les nouvelles tentatives

Si vous recevez des réponses UNKNOWN_ERROR, elles sont causées par des erreurs temporaires. Pour y remédier, il est préférable de réessayer après un court délai. Nous vous recommandons d'utiliser les bibliothèques clientes des services Web Google Maps Platform, qui incluent une logique de nouvelle tentative et permettent l'authentification via le forfait Premium Google Maps Platform. Le client Java, le client Python, le client Go et le client Node.js pour les services Google Maps sont des bibliothèques clientes prises en charge par la communauté. Vous pouvez les télécharger et y contribuer sur GitHub. Vous y trouverez également des instructions d'installation et des exemples de code.

Si vous obtenez un code d'état OVER_QUERY_LIMIT en tant que réponse, cela signifie que vous avez dépassé les limites d'utilisation de l'API. Nous vous recommandons d'essayer ces stratégies d'optimisation de l'utilisation.