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


> Dépasser la limite des 15000 géolocalisations par jour sur googlemap

Google limite l'utilisation des API Google Map à 15000 géolocalisation par jour et par IP. Il s'agit de retrouver des coordonnées géographiques (longitude et lattitude)  à partir d'une adresse réelle.

Cet article a été mis à jour, consultez plutôt http://www.cylman.com/eviter-le-statut-google-over-query-limit-et-depasser-la-limite-des-2500-geolocalisations-par-jour_qr30.html 

Si vous avez une base de donnée importante à localiser ou bien un traffic important sur votre site, il vaut mieux retrouver ses coordonnées géographiques pour les stocker dans votre base. De cette manière vous n'aurez plus cette limite.

Attention, cette technique est a utiliser ponctuellement et uniquement en cas de mise à jour de base de donnée. Si vous êtes confrontés à cette limite a cause de votre traffic, il ne faut pas l'utiliser pour passer outre et continuer à faire de la géolocalisation en temps réel. Vous devez absolument mettre à jour une base des adresses avec longitude et latitude. C'est le seul cas d'utilisation illimitée de Google Map et vous ne risquez pas que le service soit coupé.

Une fois que vous avez géolocalisé les 15000 premières adresses de votre base, si vous avez un autre serveur ou hébergement avec une autre ip, procédez en deux étapes:

Sur le second hébergement, enregistrez le fichier geocode.php :

<?

function getCoordsFromAdress($rue,$cp,$ville,$pays,$serveur,$APIKey)
{
$_coords=array();
$_url = sprintf('http://%s/maps/geo?&q=%s&output=csv&key=%s',$serveur,rawurlencode("$rue, $cp $ville, $pays"),"$APIKey");
$_result = false;
if($_result = file_get_contents($_url))
{
$_result_parts = explode(',',$_result);
if($_result_parts[0] != 200)
return false;
$coords['lat'] = $_result_parts[2];
$coords['lon'] = $_result_parts[3];
}
return $coords;
}

 

$APIKey='VOTREAPIKEY';

$coords=getCoordsFromAdress($_REQUEST['rue'],$_REQUEST['cp'],$_REQUEST['ville'],$_REQUEST['pays'],$_REQUEST['serveur'],$APIKey);

if($coords['lat']<>'' && $coords['lon']<>'')
echo $coords['lat'].'|'.$coords['lon'];
else
echo '|';

?>






Puis sur votre serveur, la où se trouve votre base de donnée et votre script de géolocalisation, utilisez la fonction modifiée :

function getHisCoordsFromAdress($heberge,$rue,$cp,$ville,$pays,$serveur)
{
$_coords=array();
$_coords[0]='';
$_coords[1]='';
$pathUrl=$heberge.'/geocode.php';
$requestString='?rue='.urlencode($rue).'&cp='.urlencode($cp).'&ville='.urlencode($ville).'&pays='.urlencode($pays).'&serveur='.urlencode($serveur).'';
$_result = file_get_contents($pathUrl.$requestString);
 
$_coords=explode('|',$_result);
 
$coords['lat'] = $_coords[0];
$coords['lon'] = $_coords[1];
  
return $coords;
}

$pays='FR';
$serveur='maps.google.com';
$APIKey='VOTREAPIKEY';

// dans votre boucle de requête sql :
usleep(100000); // impératif
$coords=getHisCoordsFromAdress('URLDEVOTREDOSSIERQUIHEBERGEGEOCODEPHP', 'VOTREADRESSE','VOTRECP','VOTREVILLE',$pays,$serveur);

Et voila, non seulement c'est reparti pour 15000 gelocalisations, mais ça marche aussi avec les autres serveurs de géolocalisation.




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
> Tutorial googleMap en php, liste d'adresse sur une carte
> Géocoder une adresse en php, obtenir sa latitude et sa longitude
> 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
> Tutorial googleMap en php, liste d'adresse sur une carte
> Géocoder une adresse en php, obtenir sa latitude et sa longitude
> 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