begin process at 2013 05 24 15:08:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > UTILISATION DU WEB SERVICE DE MAP24 POUR LA CORRECTION D'ADRESSE

UTILISATION DU WEB SERVICE DE MAP24 POUR LA CORRECTION D'ADRESSE


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :map24, geolocalisation, adresse, correction, php Niveau :Initié Date de création :07/07/2008 Date de mise à jour :07/07/2008 13:01:27 Vu / téléchargé :6 998 / 250

Auteur : RyoSensei

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Permet d'utiliser le web service de Map24 pour corriger des adresse (utilse pour avoir des base de données saines, et de vérifier les adresses passer dans un formulaire par exemple)

Source

  • /**
  • * Classe qui gère les adresses
  • * @author Ryo Sensei
  • */
  • class Adresse {
  • var $Street;
  • var $Zip;
  • var $City;
  • var $Country;
  • var $Result;
  • var $conf;
  • var $header;
  • var $geocoder;
  • function Adresse(){
  • include_once(PATH."/conf.php");
  • include_once(PATH."/Map24Geocoder/Map24Geocoder.php5");
  • $this->header = new RequestHeader();
  • $this->header->Map24ID = $CONF['MAP24_ID'];
  • $this->header->ClientID = $CONF['SESSION_ID'];
  • $this->geocoder = new Map24Geocoder($CONF['MAPTP_SYSTEM'],$CONF['MAP24_ID'],$CONF['SESSION_ID']);
  • }
  • /**
  • * Fixe l'adresse
  • *
  • * @param string $street rue + numéro
  • * @param string $zip zipcode
  • * @param string $city ville
  • * @param string $country Pays (FR,NL,BE...)
  • * @return Adresse
  • */
  • function setAddress($street="",$zip="",$city="",$country=""){
  • try{
  • if($street=="")throw new Exception("La rue ne doit pas être vide<br>");
  • if($zip==""&&$city="")throw new Exception("Veuillez renmplir au moins le code postal ou la ville<br>");
  • if($country=="")throw new Exception("Le pays est obligatoire<br>");
  • $this->Street = $street;
  • $this->Zip = $zip;
  • $this->City = $city;
  • $this->Country = $country;
  • }catch(Exception $e){
  • echo $e->getMessage();flush();
  • }
  • }
  • /**
  • * Configuration
  • * @deprecated
  • * @param unknown_type $var nom de la variable
  • * @param unknown_type $val valeur
  • */
  • function config($var,$val){
  • $this->conf[$var] = $val;
  • }
  • /**
  • * Interroge le serveur et effectue la recherche de l'adresse
  • *
  • */
  • function search(){
  • try{
  • //if(!isset($this->conf[PATH]))throw new Exception("Veuillez configurer le chemin vers les classes");
  • //$PATH = (isset($PATH))
  • //$PATH = $this->conf[PATH];
  • $SynchronizeClient = FALSE;
  • $request = new GeocodeAddressesRequest();
  • $request->Addresses = array();
  • $request->Addresses[0]= new Address();
  • $request->Addresses[0]->Street= $this->Street;
  • $request->Addresses[0]->ZIP=$this->Zip;
  • $request->Addresses[0]->City=$this->City;
  • $request->Addresses[0]->Country=$this->Country;
  • $request->MaxNoOfAlternatives = 1;
  • $request->SynchronizeClient = $SynchronizeClient;
  • $response = $this->geocoder->GeocodeAddresses($this->header,$request);
  • if(isset($response->GeocodedAddresses) && count($response->GeocodedAddresses) > 0){
  • for($objIdx=0;$objIdx<count($response->GeocodedAddresses);$objIdx++){
  • $result = new Result($response->GeocodedAddresses[$objIdx]->Alternatives[0]);
  • $counter++;
  • }
  • }else{
  • $result = null;
  • }
  • $this->Result = $result;
  • }catch(Exception $e){
  • echo $e->getMessage();flush();
  • }
  • }
  • function toString(){
  • print_r($this->Result);
  • }
  • function getQuality(){
  • return $this->Result->Quality;
  • }
  • }
  • /**
  • * Classe de Résultat
  • *
  • */
  • class Result{
  • var $HouseNo;
  • var $Street;
  • var $ZIP;
  • var $City;
  • var $County;
  • var $State;
  • var $Country;
  • var $Quality;
  • /**
  • * Constructeur
  • *
  • * @param unknown_type $obj
  • */
  • function result($obj){
  • foreach($this as $var=>$null){
  • $this->$var = $obj->$var;
  • }
  • }
  • /**
  • * Retourne le niveau de qualité du résultat
  • *
  • * @return string niveau de qualité
  • */
  • function getQuality(){
  • return $this->Quality;
  • }
  • }
  • /**
  • * Exemple d'utilisation
  • */
  • // Chemin vers les librairies Map24
  • define("PATH","includes");
  • $adresse = new Adresse();
  • $adresse->setAddress("20 r. du pres","55000","","fr");
  • $adresse->config(PATH,"includes");
  • $adresse->search();
  • // Acces au résultat
  • if($adresse->getQuality()=="Exact"){
  • $Street = $adresse->Result->Street;
  • $House = $adresse->Result->HouseNo;
  • $zipcode = $adresse->Result->Zip;//etc....
  • }
/**
 * Classe qui gère les adresses
 * @author Ryo Sensei
 */
class Adresse {
	var $Street;
	var $Zip;
	var $City;
	var $Country;
	var $Result;
	var $conf;
	var $header;
	var $geocoder;

	function Adresse(){
		include_once(PATH."/conf.php");
		include_once(PATH."/Map24Geocoder/Map24Geocoder.php5");
		$this->header = new RequestHeader();
		$this->header->Map24ID  = $CONF['MAP24_ID'];
		$this->header->ClientID = $CONF['SESSION_ID'];
		$this->geocoder = new Map24Geocoder($CONF['MAPTP_SYSTEM'],$CONF['MAP24_ID'],$CONF['SESSION_ID']);
	}
	/**
	 * Fixe l'adresse
	 *
	 * @param string $street rue + numéro
	 * @param string $zip zipcode
	 * @param string $city ville
	 * @param string $country Pays (FR,NL,BE...)
	 * @return Adresse
	 */	
	function setAddress($street="",$zip="",$city="",$country=""){
		try{
			if($street=="")throw new Exception("La rue ne doit pas être vide<br>");		
			if($zip==""&&$city="")throw new Exception("Veuillez renmplir au moins le code postal ou la ville<br>");		
			if($country=="")throw new Exception("Le pays est obligatoire<br>");	
			$this->Street = $street;
			$this->Zip = $zip;
			$this->City = $city;
			$this->Country = $country;
		}catch(Exception $e){
			echo $e->getMessage();flush();
		}
	}
	/**
	 * Configuration
	 * @deprecated 
	 * @param unknown_type $var nom de la variable
	 * @param unknown_type $val valeur
	 */
	function config($var,$val){
		$this->conf[$var] = $val;
	}
	/**
	 * Interroge le serveur et effectue la recherche de l'adresse
	 *
	 */
	function search(){
		try{
			//if(!isset($this->conf[PATH]))throw new Exception("Veuillez configurer le chemin vers les classes");
			//$PATH = (isset($PATH))
			//$PATH = $this->conf[PATH];
			$SynchronizeClient = FALSE;
			
			$request = new GeocodeAddressesRequest();
			$request->Addresses = array();
		    $request->Addresses[0]= new Address();
		    $request->Addresses[0]->Street= $this->Street;
		    $request->Addresses[0]->ZIP=$this->Zip;
		    $request->Addresses[0]->City=$this->City;
		    $request->Addresses[0]->Country=$this->Country;
		    $request->MaxNoOfAlternatives = 1;
	    	$request->SynchronizeClient = $SynchronizeClient;
			$response = $this->geocoder->GeocodeAddresses($this->header,$request);
			if(isset($response->GeocodedAddresses) && count($response->GeocodedAddresses) > 0){
			    for($objIdx=0;$objIdx<count($response->GeocodedAddresses);$objIdx++){
					$result = new Result($response->GeocodedAddresses[$objIdx]->Alternatives[0]);		    	
			        $counter++;
			    }
			}else{
				$result = null;
			}
			$this->Result = $result;
		}catch(Exception $e){
			echo $e->getMessage();flush();
		}
	}
	function toString(){
		print_r($this->Result);
	}
	function getQuality(){
		return $this->Result->Quality;
	}
}
/**
 * Classe de Résultat
 *
 */
class Result{
	var $HouseNo;
	var $Street;
	var $ZIP;
	var $City;
	var $County;
	var $State;
	var $Country;
	var $Quality;
	/**
	 * Constructeur
	 *
	 * @param unknown_type $obj
	 */
	function result($obj){
		foreach($this as $var=>$null){
			$this->$var = $obj->$var;
		}
	}
	/**
	 * Retourne le niveau de qualité du résultat
	 *
	 * @return string niveau de qualité
	 */
	function getQuality(){
		return $this->Quality;
	}
}
/**
 * Exemple d'utilisation
 */
// Chemin vers les librairies Map24
define("PATH","includes");
$adresse = new Adresse();
$adresse->setAddress("20 r. du pres","55000","","fr");
$adresse->config(PATH,"includes");
$adresse->search();
// Acces au résultat 
if($adresse->getQuality()=="Exact"){
	$Street = $adresse->Result->Street;
	$House = $adresse->Result->HouseNo;
	$zipcode = $adresse->Result->Zip;//etc....	
}

 Conclusion

Necessite une inscription (gratuite) chez Map24.fr et de télécharger les classes. (dans l'exemple, dans un dossier includes/Map24Geocoder/)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

07 juillet 2008 13:01:27 :
Correction de l'exemple

 Sources du même auteur

Source avec Zip UTILISER API GOOGLE MAPS POUR LA CORRECTION D'ADRESSE
Source avec Zip UTILISER SES ALBUMS PHOTOS PICASA SUR SON SITE PERSO

 Sources de la même categorie

Source avec Zip Source avec une capture ESPACE MEMBRE VERSION 3 EN PHP 5 par JejeScript
Source avec Zip SAUVEGARDE ADRESSE IP VISITEUR par michael33512
FONCTION DE REDIRECTION par monpoke
Source avec Zip TCHAT PHP5, JAVASCRIPT->AJAX par JejeScript
Source avec Zip Source avec une capture ESPACE MEMBRE par JejeScript

 Sources en rapport avec celle ci

Source avec Zip WEB PHP FTP CLIENT par bebert2310
Source avec Zip CHAMPS ET FORMULAIRE HTML 5 par laurent1133
SCRIPT CORRECTEUR DE PONCTUATION par nebenobo
Source avec Zip GEO-LOCALISATION (CONTINENT) par TheWeasel47
Source avec Zip SAVOIR LE PAYS DU VISITEUR par bloom1

Commentaires et avis

Commentaire de webdeb le 08/07/2008 12:51:56 8/10

Je ne connaissais pas du tout Map24.fr. C'est cool qu'il y'est une classe capable d'appeler leur webservice. Néanmoins, il est dommage que celle-ci ne soit pas écrite en PHP 5 à l'aube de la sortie de PHP 6...

++

Commentaire de RyoSensei le 08/07/2008 12:53:53

Oui peut etre... mais bon, le php5 marche aussi sous 6. Et il n'y a pas de grande révolution, en tout cas je ne pense pas que mon code écris en 5 soit différent du 6.
Merci quand même

Commentaire de webdeb le 08/07/2008 15:36:19

Tu n'as pas compris. Ton code est écrit en PHP 4 alors que tu devrais l'écrire en PHP 5 sachant que PHP 4 s'arrête officiellement dans un mois tout juste et que PHP 6 arrive à grand pas. Il est temps de passer à PHP 5  et laisser PHP 4 mourrir en paix ^^

Commentaire de RyoSensei le 08/07/2008 15:39:53

php4?
depuis quand il y a des objets en php4?
Si tu as le temps, traduit moi mon code en php5, j'aimerai bien voir la différence

Commentaire de psykocrash le 10/07/2008 22:51:35

L'objet existait déjà sous PHP4, renseigne toi...

Commentaire de RyoSensei le 11/07/2008 17:52:29

oui bien sur,
mais la, ça ça marche sur du 5 et du 6...
Et de toutes façons, c'est pas parce que le 6 va sortir que tous les serveurs vont passer sous 6...
Je travail encore sur des serveurs en 4...

Commentaire de BURN le 14/07/2008 00:46:28

Salut! Sur le site, lorsqu'on est inscrit, ou peut-on télécharger les classes ?

Commentaire de GillesWebmaster le 14/07/2008 14:00:07 10/10

Hey bien! Ça déchire!! 10/10!!!
En plus c'est codé en orienté objet! Bel effort!

Commentaire de zoosil le 18/07/2008 07:03:28

J'ai réussi à m'inscrire sur le site Map24 mais je n'ai pas trouvé le lien où on peut télécharger les classes à utiliser ...
Pouvez-vous m'éclairer ? Merci.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Adresse invisible ? [ par redpooka ] Existe t'il un moyen php pour qu'une partie de l'adresse soit invisible ?Par exemple quand on utilise :&lt;script&gt;location.href="valide_com_info.ph SVP : Aide pour mon premier formulaire. [ par davggy ] Salut à tous.Je suis tout tout débutant et très intrigué par les capacités du PHP.Mon premier souhait est de récupérer par mail les informations fourn Adresse mémoire d'une variable [ par jockos ] Comment connaitre l'adresse mémoire d'une variable PHP ?Par exemple, en C++, on utilise l'opérateur de référence "&".Mais en PHP, je me demande si cel php: barre d'adresse: + [ par matmar49 ] voila le contenu de la barre d'adresse:recap.php?adress=11+rue+des+lilasdans ma page php, je veux recuperer ce qu'il y a dans la barre d'adresse:&lt;i pb de mail avec X400 (php) [ par guicore ] SalutJe dois envoyer un mail à une personne qui ne possède pas d'adresse smtp (type perssonne@personne.fr) mais qui a une adresse X400 (c=..;..) comme liste déroulante, php, sql [ par gypsi3000 ] Je souhaiterai faire afficher une liste d'adresse web répertoriée dans une base de données depuis un menu déroulant qui correspond aux thèmes identifi redirection dans un formulaire [ par rastagnol ] salut !voila mon soucis ...G un formulaire dans lequel G des boutons radios qui redirigent apres l'envoi de ce formulaire via du javascript mais le p l'adresse ip avec php [ par marniga ] salut tous le monde comment affiché l'adresse ip d'un ordinateur avec le langage php et merci bcp frames avec php [ par djomsroset ] salutj'ai 2 pb2- j'ai fait des frames avec php, kan je navique dans mon site les adresse des pages ne s'affichent pas dans la barre d'adresse, cette d du php dans du xml [ par babbleshit ] Bonsoir ! J'ai t&#233;l&#233;charg&#233; une gallerie photo en flash qui fonctionne &#224; partir d'un ".xml". Et je voulais savoir si je pouvais fair


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,888 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales