a
     
 
       
   Developpeur web    
       
   Php Mysql et divers    
       
   Shitao    
   Sénèque    
   Recettes    
       


> Géocoder une adresse en php, obtenir sa latitude et sa longitude

Avec la nouvelle API de googlemap, plus besoin de la clé APIKEY, pratique. J'utilise l'extension simpleXml de php5 et l'url google de géocoding : http://code.google.com/intl/fr-FR/apis/maps/documentation/geocoding/ .

Attention, le geocoding est limité à 2500 requête par jour, au delà google va bloquer votre IP pour 24h. Vous avez également tout intérêt à mettre un sleep(1) dans votre boucle sauf si vous voulez être bloqué dés la 20ième requête. Le statut est OVER_QUERY_LIMIT ... Il est facile de contourner cette limite, voir à la fin de cet article.

Ne confondez pas géolocaliser et cartographier, l'obtention des coordonnées étant limitée et l'utilisation des cartes est quasi illimitée. Vous devez donc stocker vos adresses géolocalisées dans une table (colonnes lat et lon) pour être libéré par la suite.

La première fonction toute simple qui renvoie le statut, la latitude et la longitude :

function getXmlCoordsFromAdress($address)
{
$coords=array();
$base_url="http://maps.googleapis.com/maps/api/geocode/xml?";
// ajouter &region=FR si ambiguité (lieu de la requete pris par défaut)
$request_url = $base_url . "address=" . urlencode($address).'&sensor=false';
$xml = simplexml_load_file($request_url) or die("url not loading");
//print_r($xml);
$coords['lat']=$coords['lon']='';
$coords['status'] = $xml->status ;
if($coords['status']=='OK')
{
 $coords['lat'] = $xml->result->geometry->location->lat ;
 $coords['lon'] = $xml->result->geometry->location->lng ;
}
return $coords;
}

$coords=getXmlCoordsFromAdress("22 rue rambuteau, 75003 PARIS, france");
echo $coords['status']." ".$coords['lat']." ".$coords['lon'];

ce qui vous donnera :

OK 48.8609763 2.3544542


(Attention, vous recevez une chaine, utilisez floatval si vous avez besoin de faire des calculs)

En cas de besoin, vous pouvez dépasser la limite des 2500 géolocalisations : http://www.cylman.com/eviter-le-statut-google-over-query-limit-et-depasser-la-limite-des-2500-geolocalisations-par-jour_qr30.html 




retour

  Tags : googlemap


> Obtenir la lattitude et la longitude googlemap d'une adresse en php
> Tutorial googleMap en php, regrouper des marqueurs par catégories
> Autres tutoriels sur googlemap
> Dépasser la limite des 15000 géolocalisations par jour sur googlemap
> Tutorial googleMap en php, liste d'adresse sur une carte
> Eviter le statut google OVER_QUERY_LIMIT et dépasser la limite des 2500 géolocalisations par jour
Cylman
  Tags : googlemap


> Obtenir la lattitude et la longitude googlemap d'une adresse en php
> Tutorial googleMap en php, regrouper des marqueurs par catégories
> Autres tutoriels sur googlemap
> Dépasser la limite des 15000 géolocalisations par jour sur googlemap
> Tutorial googleMap en php, liste d'adresse sur une carte
> Eviter le statut google OVER_QUERY_LIMIT et dépasser la limite des 2500 géolocalisations par jour



RSS    |    Mes liens    |    Syndication    |    Plan    |    Sitemap XML    |    Création de site web à Carcassonne