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 les cas où il est préférable d'utiliser l'API Geocoding et ceux où il est avantageux d'utiliser le service Place Autocomplete de l'API Places.

En général, utilisez l'API Geocoding lorsque vous géocodez des adresses complètes (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australia"). 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 lorsque vous répondez à une saisie utilisateur.

Cas d'utilisation et recommandations d'API

Cas d'utilisation et recommandations d'API
Arrivée physique, sélection avancée de la destination, livraison du dernier kilomètre, prise en charge/dépose de covoiturage, entrées de bâtiments ou navigation sur un campus Utilisez la méthode Search for destinations (SearchDestinations) de l'API Geocoding v4 pour récupérer les entrées de bâtiments, les points de navigation routables, les contours de bâtiments et les points de repère à proximité. Consultez Choisir une méthode de géocodage.
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 appelez SearchDestinations (pour des détails hyperlocalisés) ou GeocodePlace (pour des coordonnées de base).
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 v4 (SearchDestinations pour les détails hyperlocaux ou GeocodeAddress pour la recherche de coordonnées).
Systèmes automatisés traitant des requêtes ambiguës (par exemple, des 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 qui reçoivent un taux élevé de requêtes ambiguës, incomplètes ou mal orthographiées provenant de la saisie de l'utilisateur peuvent tirer parti de l'ajout d'un widget Place Autocomplete interactif. Celui-ci permet aux utilisateurs de sélectionner un résultat et d'éviter ainsi de mal orthographier une adresse.
Problèmes de latence lors de l'utilisation de l'API Directions (ancienne version) ou de l'API Distance Matrix (ancienne version), avec des points de départ, des destinations ou des points de cheminement spécifiés sous forme de chaînes d'adresse Réduisez la latence de géocodage en utilisant le service Place Autocomplete de l'API Places pour obtenir des ID de lieu, puis transmettez-les à l'API Directions (ancienne) ou à l'API Distance Matrix (ancienne).

Répondre aux entrées utilisateur

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

  1. L'utilisateur saisit généralement une adresse de manière progressive (par exemple, "123 rue de la Paix"). Il est donc utile 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 à l'utilisateur de choisir entre elles. L'API Places peut être limitée à la recherche de codes géographiques ou d'adresses uniquement, 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 géocode l'adresse 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'adresse 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 entrées utilisateur.

En savoir plus sur le service Place Autocomplete pour Android, iOS, JavaScript et l' 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 gérées par le service Web de l'API Geocoding. Le backend de géocodage d'adresses offre une meilleure couverture des adresses dans le monde entier et est optimisé pour fournir des résultats de haute qualité pour ces types de requêtes complètes et sans ambiguïté.

Système automatisé traitant les requêtes ambiguës : 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 gérer les requêtes ambiguës et peut produire des résultats moins précis ou aucun résultat en réponse à des requêtes ambiguës. Si votre système automatisé traite un taux élevé de requêtes ambiguës dérivées d'une saisie utilisateur, vous pouvez ajouter un élément interactif à votre application à l'aide du service Place Autocomplete de l'API Places, car 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 qu'emplacement entièrement désambiguïsé au service Web de l'API Geocoding, qui renvoie ensuite l'adresse complète et géocode l'adresse en latlng. En savoir plus sur le service Place Autocomplete pour Android, iOS, JavaScript et l' API Places

Réduire la latence pour l'API Directions (ancienne) et l'API Distance Matrix (ancienne)

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) et l' API Distance Matrix (ancienne) 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 lieux sous forme de coordonnées de latitude/longitude ou d'ID de lieu.

Si votre application utilise l'API Directions (ancienne) ou l'API Distance Matrix (ancienne) dans une situation sensible à la latence (par exemple, pour répondre à une saisie utilisateur) et que vos points de départ, destinations ou points de cheminement sont initialement spécifiés sous forme de chaînes d'adresse, nous vous recommandons de réduire 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 à l'API Directions (ancienne) ou à l'API Distance Matrix (ancienne). 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, elles sont dues à des erreurs temporaires. 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 sont compatibles avec l'authentification du forfait Premium Google Maps Platform. Les client Java, client Python, client Go et client Node.js pour les services Google Maps sont des bibliothèques clientes avec 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.