10/03/2014

Utiliser l'API Geocoding de Google pour récupérer des coordonnées GPS Google et trouver un lieu

L'utilisation de l'API Geocoding de Google peut s'avérer très utile lorsque vous souhaitez récupérer des coordonnées GPS Google à partir d'une adresse (l'inverse étant également possible). 

Utiliser l API Geocoding Google pour recuperer des coordonnees GPS

Il est possible d'automatiser la récupération de ces coordonnées à partir d'un simple script écrit en PHP. Cela vous permettra par exemple d'afficher des pointeurs sur une carte. 

 

Présentation

L'utilisation de l'API Geocoding de Google peut s'avérer très utile lorsque vous souhaitez récupérer des coordonnées GPS Google à partir d'une adresse (l'inverse étant également possible). Il est possible d'automatiser la récupération de ces coordonnées à partir d'un simple script écrit en PHP. Cela vous permettra par exemple d'afficher des pointeurs sur une carte. 

L'appel de l'API Geocoding se fait côté client à l'aide d'une URL :

https://maps.googleapis.com/maps/api/geocode/json?address=%s&sensor=false

Par exemple, pour trouver les coordonnées GPS de notre agence, l'URL sera :

https://maps.googleapis.com/maps/api/geocode/json?address=546%20rue%20Baruch%20de%20Spinoza,%20Avignon&sensor=false

Cet appel vous renverra un résultat au format JSON qu'il sera possible d'exploiter par la suite.

 

Mise en place du script de récupération

Supposons qu'un grand nombre d'adresses soit présent en base de données avec les informations portant sur la rue, le code postal et la ville de chacun mais que les cordonnées GPS Google soient absentes. Un script simple vous permettra de les rechercher avec Google et de les insérer.

// Google Maps Geocoder
$geocoder = "https://maps.googleapis.com/maps/api/geocode/json?address=%s&sensor=false";

$arrAddresses = Address::LoadAll(); // Notre collection d'objets Address

foreach ($arrAddresses as $address) {

        if (strlen($address->Lat) == 0 && strlen($address->Lng) == 0) {
                
            $adresse = $address->Rue;
            $adresse .= ', '.$address->CodePostal;
            $adresse .= ', '.$address->Ville;

            // Requête envoyée à l'API Geocoding
            $query = sprintf($geocoder, urlencode(utf8_encode($adresse)));

            $result = json_decode(file_get_contents($query));
            $json = $result->results[0];

            $adress->Lat = (string) $json->geometry->location->lat;
            $adress->Lng = (string) $json->geometry->location->lng;
            $adress->Save();

         }
}

Les coordonnées GPS sont à présentes à jour.

 

Pour aller plus loin...

Vous aurez peut-être par la suite besoin d'afficher les marqueurs liés à ces adresses sur une carte Google Maps. Pour cela, rendez-vous sur : https://developers.google.com/maps/documentation/javascript/overlays?hl=FR.

Dans certains cas, le nombre d'adresses en base de données peut être très grand et un affichage pointeur par pointeur peut s'avérer problématique car la carte serait recouverte de pointeurs. Une des solutions est d'utiliser des objets MarkerClusterer dans votre Google Maps. Ils vous permettent d'afficher des nuages de points, la carte étant dézoomée, ce qui est bien plus lisible. En zoomant, vous verrez de plus en plus de pointeurs apparaître.

 

NB : l'utilisation de l'API Geocoding est limitée. Dans le cas  d'une utilisation gratuite, vous pouvez effectuer jusqu'à 2500 requêtes par tranche de 24h. Si vous disposez d'un compte Google Maps API for Business, vous pouvez en effectuer jusqu'à 100000 par tranche de 24h.

Le Blog Vertuoz
Découvrez les articles originaux écrits par notre équipe : actualités de l'agence, conseils sur les meilleures techniques du web ou dernières réalisations,... nous les partageons ici dès que nous en avons l'occasion.
Bonne lecture !

Retrouvez toute notre actualité

News de l'agence, conseils sur les meilleures techniques du web ou dernières réalisations,... nous les partageons ici dès que nous en avons l'occasion. Bonne lecture !
Toute notre actualité
22 avril 2025
Facturation électronique obligatoire en 2026 : soyez prêts sans vous précipiter

La facturation électronique devient obligatoire en 2026/2027. Anticipez sereinement cette transition : choix de votre Plateforme de Dématérialisation Partenaire (PDP), ce qui est prévu avec Dolibarr. Explications et conseils.

Lire l'article
25 mars 2025
Pourquoi choisir un CRM sur mesure ? Avantages, développement et exemples concrets

Opter pour un CRM sur mesure, c’est choisir une solution qui s’adapte pleinement aux processus internes de l’entreprise et répond précisément à ses besoins spécifiques.

Lire l'article
12 février 2025
Connecter Dolibarr à Chorus Pro : Guide complet pour la dématérialisation des factures

La transformation numérique des entreprises s'accélère, et la dématérialisation des factures devient une obligation légale pour les fournisseurs du secteur public en France.

Lire l'article
02 janvier 2025
Nos meilleurs vœux pour cette nouvelle année 2025 !

Nos vœux les plus sincères pour une année pleine de succès !

Lire l'article
06 décembre 2024
Google Ads et réseaux sociaux : développez votre visibilité grâce à notre expertise e-marketing

Ce nouveau service vient enrichir notre expertise en solutions digitales, afin de répondre aux besoins croissants de nos clients en matière de visibilité en ligne et d’optimisation des campagnes publicitaires.

Lire l'article
16 septembre 2024
Vertura Solutions (ex. ARG Solutions) rejoint Vertuoz au sein du groupe Musia

Après 15 ans de succès dans le développement de logiciels web sur-mesure et d’applications mobiles, Vertuoz franchit une nouvelle étape dans son parcours en intégrant  une autre structure partenaire au sein du groupe MUSIA. Cette acquisition, symbole d'une croissance externe, ouvre la voie à une synergie prometteuse, renforçant à la fois les expertises et la capacité d'innovation des équipes.

Lire l'article