Détection de l'emplacement à l'aide de l'API Google AJAX

Il est parfois nécessaire de savoir de quelle partie du monde provient un visiteur donné. Il existe de nombreux fournisseurs de recherche d'IP à emplacement qui offrent ce service à un coût raisonnable (en fonction du niveau de détail requis).

L'API Google Maps AJAX de Google vous offre cette consultation gratuite (vos besoins sont aussi longtemps non commerciaux). Vous pouvez même utiliser les informations de latitude et de longitude renvoyées par l'API pour tracer la position de l'utilisateur sur une carte Google. Nifty hein? Voyons maintenant un exemple simple: nous allons détecter l'emplacement de l'utilisateur en fonction de son adresse IP et le restituer sur une carte.

Avant de commencer, vous voudrez peut-être consulter la démo.

Vous devez d’abord obtenir une clé d’API de recherche AJAX (c’est gratuit; il suffit de vous inscrire en utilisant votre nom de domaine et vous recevrez une clé unique, applicable à toutes les pages hébergées dans votre domaine). Une fois que vous avez cela prêt, lancez votre éditeur préféré. Nous n'avons besoin d'aucun code côté serveur pour pouvoir utiliser l'API Maps. Un document HTML simple suffit donc.

D'abord, plaçons les? Crochets? dans la page, où la carte et une légende apparaîtra.

L'API Google AJAX consiste en un ensemble d'API individuelles. En utilisant un

La fonction de chargement ci-dessus prend comme paramètres le nom de l'API, sa version et une fonction de rappel facultative (appelée une fois le chargement de l'API Google Maps terminé). Dans la fonction init (), nous allons d’abord définir un emplacement par défaut à afficher sur la carte, au cas où l’API Maps ne pourrait pas décoder l’adresse IP du visiteur. Puisque l'API Google Maps correspond essentiellement à l'adresse IP de l'utilisateur et à un emplacement, il peut arriver que ce mappage ne soit pas possible, d'où la nécessité d'un paramètre par défaut.

Ensuite, nous vérifions si l'emplacement du client a été renseigné par le chargeur d'API. S'il est correctement rempli, l'objet google.loader.ClientLocation présente les caractéristiques suivantes:

  • ClientLocation.latitude
  • ClientLocation.longitude
  • ClientLocation.address.city
  • ClientLocation.address.country
  • ClientLocation.address.country_code
  • ClientLocation.address.region

En utilisant ces informations, nous pouvons facilement charger une carte, centrée sur l'emplacement de l'utilisateur.

Ça y est, voyez-le en action. Comme je l'ai déjà indiqué ci-dessus, les informations sur l'emplacement du client renvoyées par cette API ne sont pas parfaites, car le mappage IP peut souvent être délicat et peut entraîner des informations incorrectes ou partiellement exactes. Alors que vous devriez envisager une solution prête à l'emploi pour les utilisations sérieuses, j'espère que cette API sera pratique pour vos besoins personnels!