Géocoder une adresse postale

Mammouth du PHP | 687 Messages

21 févr. 2011, 03:23

Bonsoir,
je souhaiterai savoir si quelqu'un possède un script ou connait un script de géolocalisation (par adresse postale) facile à mettre en place (pour débutant)???
Il y a des adresse dans ma base de données, et une page php qui permet d'afficher ces adresses en fonction d'une recherche exécutée par un utilisateur...
En gros c'est une sorte d'annuaire, l'utilisateur cherche une entreprise, le résultat de la recherche s'affiche sous forme de fiche avec les coordonnées de l'entreprise, un peu comme les pages jaunes...
exemple : http://www.pagesjaunes.fr/trouverlespro ... 60F.yas09f

Quand on clique sur le lien plan :http://www.pagesjaunes.fr/trouverlespro ... portail=PJ

VOICI LE CODAGE DE L'AFFICHE DES COORDONNEES SUR MON SITE
<table border="0" align="left" cellspacing="0" cellpadding="0" width="100%">
 <?php

if ($dossier["logo"]) {
?>

<?php 
  }
  else {
?>

<tr>
  <td width="45%" rowspan="2">&nbsp;</td>
</tr>

<?php  }  ?>
<tr>
  <td width="55%"  ><h4 style="color:#1e297c">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b><u>Coordonn&eacute;es</b></u></h4>
    <ul>
    <?php
    	if ($aff_donnee_entreprise[telephone]) {
    ?>
    		<li><b>T&eacute;l&eacute;phone : </b><?php echo stripslashes($aff_donnee_entreprise[telephone]); ?></li>
    <?php
    	}
    	if ($aff_donnee_entreprise[fax]) {
    ?>
    		<li><b>Fax : </b><?php echo stripslashes($aff_donnee_entreprise[fax]); ?></li>
            
            <?php
    	}
    	if ($aff_donnee_entreprise[email]) {
    ?>
    		<li><b>E-mail : </b><?php echo stripslashes($aff_donnee_entreprise[email]); ?></li>
			
			<?php
    	}
    	if ($aff_donnee_entreprise[adresse]) {
   
   ?>
    		<li><b>Adresse : </b><?php echo stripslashes(mb_strtoupper($aff_donnee_entreprise[adresse])); ?></li>
			
			<?php
    	}
    	if ($aff_donnee_entreprise[adresse_bis]) {
    ?>
    		<li><b>Compl&eacute;ment adresse : </b><?php echo stripslashes(mb_strtoupper($aff_donnee_entreprise[adresse_bis])); ?></li>
			
			<?php
    	}
    	if ($aff_donnee_entreprise[code_postal]) {
    ?>
    		<li><b>Code postal : </b><?php echo stripslashes(mb_strtoupper($aff_donnee_entreprise[code_postal])); ?></li>
			
			<?php
    	}
    	if ($aff_donnee_entreprise[ville]) {
    ?>
    		<li><b>Ville : </b><?php echo stripslashes(mb_strtoupper($aff_donnee_entreprise[ville])); ?></li>
            
            <?php   }   ?>
    </ul>
  </td>
</tr>
</table>
Voila en gros ce que je souhaite faire c'est un script capable de lire l'adresse afficher sur la page ci-dessus afin d'y générer un plan, une carte ou un lien qui permet d'afficher le plan...

Merci par avance.

Cordialement.

ViPHP
ViPHP | 5462 Messages

21 févr. 2011, 10:53

tu peux faire ça avec l'API Google Maps

Mammouth du PHP | 687 Messages

21 févr. 2011, 11:04

Bonjour et merci pour ta réponse.
Oui j'avais vu cet API mais elle est complexe à mettre en place... je cherchais donc un système plus simple...

ViPHP
ViPHP | 5462 Messages

21 févr. 2011, 11:25

Bonjour et merci pour ta réponse.
Oui j'avais vu cet API mais elle est complexe à mettre en place... je cherchais donc un système plus simple...
complexe ??? t'as bien lu la doc ? il suffis juste lui passer l'adresse en paramètre...
en 2 lignes c'est fait

http://code.google.com/intl/fr/apis/map ... gResponses

Mammouth du PHP | 687 Messages

21 févr. 2011, 12:05

le truc c'est que ce n'est pas automatique... je dois mettre l'adresse manuellement...non?

ViPHP
xTG
ViPHP | 7331 Messages

21 févr. 2011, 12:20

Tu ne trouveras aucune API qui aille automatiquement chercher et comprendre ta base de donnée pour y prendre les informations qui l'intéresse voyons... -_-
Faut savoir mettre un peu les mains dans le cambouis des fois (et même souvent en programmation).

Mammouth du PHP | 687 Messages

21 févr. 2011, 12:27

ah oui ça je suis entièrement d'accord. pour renseigner la base de données ok, je pensais qu'il fallait programmer une à une les adresse dans l'API...
c'est pour ça que j'ai eu peur.... :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

21 févr. 2011, 19:01

Modération :
Le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 687 Messages

21 févr. 2011, 19:04

c'est un bug.
Désolé pour l'erreur.

Cordialement.

Mammouth du PHP | 687 Messages

21 févr. 2011, 19:52

Bon vu que la programmation de l'API est assez rude j'ai rusé en faisant ceci...
<a href="http://maps.google.fr/maps?q=<?php echo stripslashes(strtolower($aff_donnee_entreprise[adresse])); ?>+<?php echo stripslashes(strtolower($aff_donnee_entreprise[code_postal])); ?>+<?php echo stripslashes(strtolower($aff_donnee_entreprise[ville])); ?> "  target="_blank">Afficher le Plan</a>
Et ça fonctionne...
ça vous parle ou vous trouvez ça complétement pourri ???

Merci

ViPHP
ViPHP | 5462 Messages

21 févr. 2011, 20:03

utilise http_build_query pour créer les paramètres et pourquoi faire stripslashes et strtolower ???

Mammouth du PHP | 687 Messages

21 févr. 2011, 20:09

http_build_query ... ? Que m'apporte de plus cette fonction?

j'utilise stripslashes et strtolower pour la lecture de ma base de données pour éviter les erreurs de lecture...

ViPHP
ViPHP | 5462 Messages

21 févr. 2011, 22:02

http_build_query ... ? Que m'apporte de plus cette fonction?

j'utilise stripslashes et strtolower pour la lecture de ma base de données pour éviter les erreurs de lecture...
http_build_query c'est la fonction qu'il faut utilisé pour faire une requete GET de plus elle encode des chaines dans le bon format HTTP
normalement tu n'as pas a faire stripslashes et strtolower

il faut aussi bien ecire ton code :

c'est pas :
$aff_donnee_entreprise[adresse]

mais :
$aff_donnee_entreprise['adresse']

:wink:

je pense que beaucoup de tes sources pour débutant sont obsolètes

Mammouth du PHP | 687 Messages

21 févr. 2011, 22:12

Ah ok je vois.
Merci pour cette Info! ;-)

Encore un pas en avant grâce au forum!