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é
05 avril 2024
Découvrez la nouvelle identité visuelle de notre client l'UCT

Depuis 30 ans, l'Union des Comités Techniques (UCT) est un acteur majeur rassemblant près de 400 entreprises et groupements d’entreprises à travers la France entière. Son rôle ? Négocier des remises significatives auprès des plus grands acteurs des différents marchés tels que les télécommunications, les assurances, les carburants, les véhicules, et les outillages, pour le bénéfice de ses adhérents.

Lire l'article
23 février 2024
Comment un logiciel ERP CRM peut simplifier vos flux de travail ?

L'automatisation des flux de travail par la mise en place d'un logiciel ERP CRM offre un potentiel de transformation significatif pour les entreprises de toutes tailles et de tous secteurs. En investissant dans la bonne solution, votre entreprise s'offrira un avenir plus productif et prospère.

Lire l'article
16 février 2024
Les 3 meilleurs systèmes ERP Open Source : Notre guide pour choisir la solution idéale

Nous explorons pour vous les trois principaux systèmes ERP open-source qui peuvent améliorer de manière conséquente les opérations de votre entreprise.

Lire l'article
09 février 2024
Les 10 avantages d'un développement d'applications web : Nos conseils pour un développement informatique réussir !

Le développement d'applications web offre de nombreux avantages pour les entreprises cherchant à se démarquer et à prospérer.

Lire l'article
02 février 2024
Découvrez les 5 fonctionnalités indispensables à rechercher dans un logiciel ERP

Lorsque vous recherchez un logiciel ERP pour votre entreprise, il est essentiel de comprendre les fonctionnalités clés qui garantiront son efficacité. 

Lire l'article
05 janvier 2024
Votre agence spécialisée en développements informatiques vous souhaite une bonne année 2024

Toute l'équipe Vertuoz vous présente ses meilleurs voeux pour cette nouvelle année.

Lire l'article