Bonnes pratiques de géocodage

Le geocoding est le processus qui consiste à convertir des adresses (comme des adresses postales) en coordonnées géographiques (latitude et longitude), que vous pouvez utiliser pour placer des repères sur une carte ou pour positionner la carte. L'objectif de ce document est de clarifier les considérations liées au géocodage des adresses. Elle indique quand il est préférable d'utiliser l'API Geocoding et quand utiliser le service Place Autocomplete de l'API Places.

En général, l'API Geocoding permet de 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 des adresses ambiguës (incomplètes) ou pour des applications sensibles à la latence, par exemple lorsque vous répondez à une entrée utilisateur.

Cas d'utilisation et recommandations d'API

Cas d'utilisation et recommandations d'API
Répondre, en temps réel, aux données saisies par l'utilisateur (inclut les adresses ambiguës, incomplètes, mal formatées ou mal orthographiées par un utilisateur) Utilisez le service Place Autocomplete de l'API Places pour obtenir un ID de lieu, puis l'API Geocoding pour le géocoder dans un latlng.
Traitement automatique des adresses postales complètes et non ambiguës (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australie") Utiliser le service Web de l'API Geocoding
Systèmes automatisés traitant des requêtes ambiguës (par exemple, adresses incomplètes, mal mises en forme ou mal orthographiées) Les systèmes automatisés recommandent le service Web de l'API Geocoding. En revanche, l'ajout d'un widget Place Autocomplete interactif aux systèmes automatisés avec un taux élevé de requêtes ambiguës, incomplètes ou mal orthographiées dérivées des entrées utilisateur permet aux utilisateurs de sélectionner un résultat et ainsi d'éviter de mal saisir une adresse.
Problèmes de latence à l'aide de l'API Directions ou Distance Matrix, avec des points de départ, des destinations ou des points de cheminement spécifiés comme 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 Distance Matrix.

Répondre à la saisie de l'utilisateur

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

  1. La saisie d'une adresse implique généralement la saisie progressive d'une adresse (comme "123 Main Street"), ce qui permet de 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 un outil idéal pour répondre à une entrée 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 aux recherches de géocodage ou d'adresses, tout en excluant des établissements. En outre, la fonction de recherche de saisie semi-automatique peut être biaisée pour renvoyer des résultats spécifiques à un établissement. L'API Places renvoie un ID de lieu qui peut être transmis au service Web de l'API Geocoding en tant qu'emplacement sans ambiguïté. Celui-ci renvoie ensuite tous les détails de l'adresse et géocode l'adresse en coordonnées latlng. Les ID de lieu peuvent également être transmis à d'autres API, telles que l'API Directions et l'API Distance Matrix (voir ci-dessous).

Le geocoding d'adresses dans l'API Geocoding présente une latence beaucoup plus élevée et génère 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 automatique des adresses postales complètes et non ambiguës: le service Web de l'API Geocoding gère mieux les requêtes sans ambiguïté telles que les chaînes d'adresse postale complètes (par exemple, "48 Pirrama Rd, Pyrmont, NSW, Australie"). Le backend de geocoding des adresses offre une meilleure couverture des adresses à l'échelle mondiale. Il est optimisé pour des résultats de haute qualité avec ce type de requêtes complètes et non ambiguës.

Traitement automatisé des 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. Cependant, l'API Geocoding n'est pas conçue pour gérer les requêtes ambiguës. Elle peut donc générer 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 nombre élevé de requêtes ambiguës provenant des entrées utilisateur, l'ajout d'un élément interactif à votre application peut s'avérer bénéfique avec le service Place Autocomplete de l'API Places, car il est conçu pour renvoyer plusieurs options possibles et permettre à un utilisateur de choisir entre elles. L'API Places renvoie un ID de lieu qui peut être transmis au service Web de l'API Geocoding en tant qu'emplacement sans ambiguïté. Celui-ci renvoie ensuite tous les détails de l'adresse et géocode l'adresse 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 des 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'adresse, 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 que les coordonnées latlng ou les ID de lieu.

Si votre application utilise l'API Directions ou l'API Distance Matrix dans une situation sensible à la latence (telle que la réponse d'une entrée utilisateur), et que vos origines, destinations ou points de cheminement sont initialement spécifiés en tant que 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'adresses en identifiants de lieu, puis de transmettre les ID de lieu à l'API Directions ou 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 de lieux et d'itinéraires.

Conclusion

Selon votre cas d'utilisation, lorsque vous géocodez des adresses, en utilisant l'API Geocoding ou le service Place Autocomplete en combinaison avec l'API Geocoding, vous pouvez créer des applications qui offrent aux utilisateurs des résultats de geocoding précis, ainsi qu'une latence réduite.

Gérer les erreurs et les nouvelles tentatives

Si vous recevez des réponses UNKNOWN_ERROR, celles-ci sont dues à des erreurs temporaires. Il est préférable de procéder à une nouvelle tentative 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. Le client Java, le client Python, le client Go et le client Node.js pour les services Google Maps sont des bibliothèques clientes compatibles avec la communauté. Elles peuvent être téléchargées et utilisées sur GitHub, où vous trouverez également des instructions d'installation et un exemple de code.

Si vous recevez un code d'état OVER_QUERY_LIMIT en réponse, vous avez dépassé les limites d'utilisation de l'API. Nous vous recommandons de tester ces stratégies d'optimisation de l'utilisation.