Surveillez l'utilisation de votre clé avant d'atteindre une limite
Surveiller vos en-têtes de quota au fil de l'eau vous indique quand une limite approche, bien avant qu'une requête ne soit effectivement refusée.
Un localisateur de magasins a besoin de deux éléments qui fonctionnent ensemble : un moyen de savoir où se trouve le client, et une liste de coordonnées de magasins avec laquelle comparer. Le géocodage inverse couvre proprement la première partie.
Une fois que vous disposez des coordonnées du client, issues d'un lieu qu'il a saisi ou d'une recherche d'IP, appliquez-leur le géocodage inverse pour lui afficher un nom de lieu lisible et confirmer le lieu de recherche avant d'afficher les résultats.
GET /v1/reverse?lat=51.5074&lon=-0.1278{
"status": "ok",
"formatted": "Trafalgar Square, London, UK",
"lat": 51.5074,
"lon": -0.1278,
"type": "address",
"precision": "street",
"confidence": 0.9,
"place_id": "lm345",
"components": {"city": "London", "country": "GB"}
}L'API renvoie des coordonnées, pas des distances entre deux points quelconques. Une fois que vous avez la latitude et la longitude du client, calculez donc la distance jusqu'à chaque magasin de votre liste à l'aide du calcul classique de distance orthodromique sur les deux paires de coordonnées. Triez votre liste de magasins selon cette distance calculée et affichez les quelques plus proches.
Tous les visiteurs ne partagent pas leur position. Pour une recherche par adresse saisie, géocodez d'abord le texte avec /v1/forward pour obtenir des coordonnées, puis appliquez à ce résultat le même calcul de distance vers le magasin le plus proche. Si vous souhaitez que des suggestions apparaissent au fil de la saisie du client plutôt que d'attendre une adresse complète, /v1/autocomplete peut alimenter un champ à saisie semi-automatique qui transmet un place_id ou un texte résolu à la même étape de géocodage direct.
Une application native peut se passer de l'étape de géocodage inverse pour trouver les magasins à proximité, puisqu'elle dispose déjà des coordonnées brutes de l'appareil à comparer directement avec votre liste de magasins. Le géocodage inverse reste cependant utile pour le texte de confirmation affiché au client, par exemple « Magasins près de Trafalgar Square, Londres » plutôt qu'une simple paire de nombres, ce qui rassure le client sur le fait que l'application a bien compris sa position avant qu'il ne fasse défiler les résultats.
Ne partez pas du principe que chaque adresse saisie est géocodée avec une précision au niveau du bâtiment avant de lancer le calcul de distance. Une requête large, comme un simple nom de ville, renverra tout de même un résultat, mais avec une précision plus grossière, et traiter ce point approximatif comme s'il désignait le bâtiment exact du client rendra votre classement du « magasin le plus proche » moins fiable que ce que les champs confidence et precision vous auraient laissé prévoir.
Lorsque deux magasins ressortent à des distances calculées presque identiques, la distance seule n'indique pas au client lequel lui convient le mieux. Afficher les deux, avec des informations comme les horaires d'ouverture ou la disponibilité des stocks, donne au client l'élément décisif plutôt qu'un ordre de tri arbitraire.
Affichez l'adresse formatée issue du résultat de géocodage inverse à côté des résultats de magasins, afin que le client voie immédiatement si le lieu détecté ou résolu correspond bien à l'endroit d'où il voulait chercher, et puisse le corriger si ce n'est pas le cas.
Chaque recherche correspond à une requête de géocodage inverse ou direct, quel que soit le nombre de magasins avec lesquels vous la comparez ensuite, puisque le calcul de distance lui-même se fait dans votre propre code une fois que vous disposez des coordonnées des deux côtés. Un localisateur de magasins recevant un trafic quotidien modéré tient facilement dans les 2 500 requêtes gratuites par jour incluses avec chaque clé.
Un localisateur de magasins conçu de cette façon nécessite exactement une requête de géocodage par recherche client, tout le reste étant traité localement avec votre propre liste de magasins. L'ensemble des champs de réponse figure dans la documentation du géocodage inverse.