[GMaps] Géolocaliser une adresse grâce au webservice de l’API Google Maps

By Aymeric on février 4th, 2010

Il est habituel d’utiliser l’API Google Maps en javascript pour générer des cartes Google Maps.

Voici une utilisation en PHP de l’API Google Maps pour récupérer les coordonnées (x et y) d’un point à partir d’une adresse.

Par exemple en spécifiant : « Washington, DC, USA », on obtiendra un tableau (array) contenant les coordonnées -77.036667 et 38.895000.

Avant de de pouvoir utiliser le code ci-dessous, il faut se procurer une clé Google Maps API disponible ici.

Voici le code utilisé :

<?php
define('KEY', 'votre_cle_google');
$webService = 'http://maps.google.com/maps/geo?q=' . urlencode($location) . '&output=csv&key=' . GOOGLE_API_KEY;

// Lieu à géolocaliser
$location = 'Washington, DC, USA';

// Récupération des données
$data = explode(',', file_get_contents($webService));

// Test du résultat
$coord = 200 === (int)$data[0] ? array((float)$data[2], (float)$data[3]) : null;

// Affichage des coordonnées
var_dump($coord);
?>
array(2) {
    [0]=>
        float(-77.03666)
    [1]=>
        float(38.895000)
}