10/03/2014

Utiliser l'API Geocoding Google pour récupérer des coordonnées GPS

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 à 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 à 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 :

http://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 :

http://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 soient absentes. Un script simple vous permettra de les rechercher avec Google et de les insérer.

// Google Maps Geocoder
$geocoder = "http://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é
20 septembre 2022
Retour d'expérience : 6 mois de semaines à 4 jours chez Vertuoz

Notre retour d’expérience après la mise en place des semaines de 4 jours.

Lire l'article
23 juin 2022
Suds Arles nous confie la refonte de son site et de sa plateforme de gestion du festival

Les Suds, à Arles ont vu le jour au mois de janvier 1996.
Nés à l’initiative de passionnés et de professionnels de la culture méditerranéenne, Les Suds ont pour but d’affirmer l’identité des pays de la Méditerranée et plus largement des Suds ; de promouvoir, diffuser leurs cultures, développer leur attractivité et contribuer à leur pleine reconnaissance dans l’espace européen et international.

Lire l'article
16 juin 2022
L'école Sup des RH nous confie la conception de son logiciel de gestion

Implantée à Paris depuis 25 ans, SUP des RH est une école proposant des formations en Ressources Humaines de niveaux Bachelor / Master et NBA.

Une équipe de 25 collaborateurs organise la gestion de l’école qui comptabilise en moyenne 600 élèves par an suivant des cursus en formation initiale et/ou formation en alternance.

Lire l'article
06 juin 2022
Relais Vert, grossiste en produit biologique nous confie sa plateforme de commande B2B

Créée en 1986, l’entreprise familiale Relais Vert est spécialisée dans la distribution de produits bio à destination de magasins indépendants.

Lire l'article
16 mai 2022
Une application mobile pour votre entreprise

Devenus indispensables à notre quotidien, les smartphones font partie intégrante des outils que nous utilisons tous les jours.

Lire l'article