Géocoder des adresses - Meilleures pratiques

Le geocoding consiste à convertir des 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. Ce document vise à clarifier les points à prendre en compte lors du géocodage d'adresses. Il décrit quand il est optimal d'utiliser l'API Geocoding et quand il est avantageux d'utiliser le service Place Autocomplete de l'API Places.

En général, utilisez l'API Geocoding pour géocoder des adresses complètes (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australie"). Utilisez le service Place Autocomplete de l'API Places pour géocoder les adresses ambiguës (incomplètes) ou pour les applications sensibles à la latence, par exemple lorsque vous répondez à 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 utilisateur (y compris 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 l'ID de lieu en coordonnées latlng.
Systèmes automatisés traitant des adresses postales complètes et non ambiguës (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australie") Utilisez le service Web de l'API Geocoding.
Systèmes automatisés traitant les requêtes ambiguës (par exemple, les adresses incomplètes, mal formatées ou mal orthographiées) Recommander aux systèmes automatisés d'utiliser le service Web de l'API Geocoding. Toutefois, les systèmes automatisés avec un taux élevé de requêtes ambiguës, incomplètes ou mal orthographiées provenant de saisies 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 de mal orthographier une adresse.
Problèmes de latence avec l'API Directions (ancienne version) ou l'API Distance Matrix (ancienne version), avec des points de départ, des destinations ou des waypoints spécifiés sous forme de chaînes d'adresse Réduisez la latence du géocodage en utilisant le service Place Autocomplete de l'API Places pour obtenir des ID de lieux, puis transmettez-les à l'API Directions (ancienne version) ou à l'API Distance Matrix (ancienne version).

Répondre aux entrées utilisateur

Les applications qui répondent en temps réel aux saisies des utilisateurs doivent tenir compte de deux éléments majeurs qui affectent le choix de l'API :

  1. L'entrée utilisateur implique généralement de saisir une adresse progressivement (par exemple, "123 rue de la Paix"). Par conséquent, pouvoir géocoder des adresses incomplètes et ambiguës est utile, car cela permet à l'utilisateur d'obtenir un résultat plus rapidement.
  2. Les applications qui répondent aux entrées utilisateur sont très sensibles à la latence.

Ces deux considérations font du service Place Autocomplete de l'API Places la solution idéale pour répondre aux saisies des utilisateurs. Place Autocomplete est conçu pour renvoyer plusieurs options possibles et permettre à l'utilisateur de choisir entre elles. L'API Places peut être limitée à la recherche de géocodes ou d'adresses uniquement, tout en excluant les établissements. De plus, la fonction de recherche de saisie semi-automatique peut être pondérée 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 désambiguïsé au service Web de l'API Geocoding, qui renvoie ensuite l'adresse complète et la géocode en coordonnées de latitude et de longitude. Les ID de lieu peuvent également être transmis à d'autres API, telles que l'API Directions (ancienne) et l'API Distance Matrix (ancienne) (voir Réduire la latence).

Le géocodage d'adresses dans l'API Geocoding présente une latence beaucoup plus élevée et produit également 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 saisies des utilisateurs.

Pour en savoir plus sur le service Place Autocomplete, consultez les pages Android, iOS, JavaScript et API Places.

Systèmes automatisés

Systèmes automatisés traitant des adresses postales complètes et non ambiguës : les requêtes non ambiguës telles que les chaînes d'adresses postales complètes (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australia") sont mieux traitées par le service Web de l'API Geocoding. Le backend de géocodage d'adresses offre une couverture plus large des adresses dans le monde entier et est optimisé pour fournir des résultats de haute qualité avec ces types de requêtes complètes et non ambiguës.

Traitement des requêtes ambiguës par le système automatisé : Les requêtes ambiguës sont celles qui contiennent des adresses mal formatées, des adresses incomplètes ou des fautes d'orthographe. Pour les systèmes automatisés, nous vous recommandons d'utiliser le service Web de l'API Geocoding. Toutefois, l'API Geocoding n'est pas conçue pour traiter les requêtes ambiguës. Elle peut donc produire des résultats moins précis, voire aucun résultat, en réponse à ces requêtes. Si votre système automatisé traite un grand nombre de requêtes ambiguës dérivées de saisies utilisateur, vous pouvez ajouter un élément interactif à votre application à l'aide du service Place Autocomplete de l'API Places. En effet, il est conçu pour renvoyer plusieurs options possibles et permettre à l'utilisateur de choisir entre elles. L'API Places renvoie un ID de lieu qui peut être transmis en tant que lieu entièrement désambiguïsé au service Web de l'API Geocoding. Ce dernier renvoie ensuite des informations complètes sur l'adresse et la géocode en coordonnées latlng. Obtenez plus d'informations sur le service Place Autocomplete pour Android, iOS, JavaScript et l' API Places.

Réduire la latence pour les anciennes API Directions et API Distance Matrix

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

Si votre application utilise les API Directions (ancienne version) ou l'API Distance Matrix (ancienne version) dans une situation sensible à la latence, par exemple pour répondre à une entrée utilisateur, et que vos origines, destinations ou points de cheminement sont initialement spécifiés sous forme de chaînes d'adresse, nous vous recommandons de minimiser la latence en utilisant le service Place Autocomplete de l'API Places pour convertir les chaînes d'adresse en ID de lieu, puis de transmettre les ID de lieu aux API Directions (ancienne version) ou à l'API Distance Matrix (ancienne version). Obtenez plus d'informations sur le service Place Autocomplete pour Android, iOS, JavaScript et l' API Places. Consultez également un exemple JavaScript de Place Autocomplete et d'itinéraires.

Conclusion

Selon votre cas d'utilisation, vous pouvez utiliser l'API Geocoding seule ou la combiner avec le service Place Autocomplete. Cela vous permet de créer des applications qui offrent des résultats de géocodage précis et une latence réduite.

Gérer les erreurs et les nouvelles tentatives

Si vous recevez des réponses UNKNOWN_ERROR, cela est dû à des erreurs temporaires. La meilleure façon de les gérer est 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 réessai et sont compatibles avec l'authentification du forfait Premium Google Maps Platform. Les clients Java, Python, Go et Node.js pour les services Google Maps sont des bibliothèques clientes bénéficiant de l'assistance de la communauté, disponibles en téléchargement et pour les contributions sur GitHub, où vous trouverez également des instructions d'installation et des exemples de code.

Si vous recevez un code d'état OVER_QUERY_LIMIT en guise de 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.