IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Récupérer lat et long dans PHP [Google Maps]


Sujet :

APIs Google

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Récupérer lat et long dans PHP
    Bonjour,

    Je débute complètement en HTML/PHP/JS et je dois développer un service :
    J'ai un fichier .CSV, toujours en local sur mon poste et à un endroit bien précis, contenant ville et code postal (plusieurs enregistrements). Je dois y ajouter les latitude et longitude pour chaque ligne et enregistrer ce nouveau fichier.
    J'ai trouvé l'api Google pour récupérer les latitude et longitude, et c'est du Javascript.
    Ci-dessous ce que j'ai fait (soyez indulgents...)
    Je n'arrive pas à récupérer les Longitude et Latitude dans ma partie PHP...
    (Pour l'instant je n'ai essayé qu'avec la latitude mais ça ne doit pas être comme ça que ça se code... car il ne connaît pas ma variable )
    Est-ce possible ?
    Si oui, comment ?
    Si non, par quel moyen je pourrais faire ça ?
    Merci beaucoup pour vos réponses.

    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    	 
    	   <style type="text/css">
    		 html { overflow:hidden; height:100%; } 
    		 body { height:100%; margin:0; }
    		 #map { width:100%; height:100%; }
    	   </style>
    	 
    	 
    		<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    		<script type="text/javascript">
    		var geocoder;
    		  var map;
    		  geocoder = new google.maps.Geocoder();
    		 
    		  function showAddress(address) {
    		   /* Appel au service de geocodage avec l'adresse en paramètre */
    		   geocoder.geocode( { 'address': address}, function(results, status) {
    				/* Si l'adresse a pu être géolocalisée */
    				if (status == google.maps.GeocoderStatus.OK) {
    				 /* Récupération de sa latitude et de sa longitude */
    				 document.getElementById('lat').value = results[0].geometry.location.lat();
    				 document.getElementById('lng').value = results[0].geometry.location.lng();
    					var $latitude = document.getElementById('lat').value;
              var $longitude = document.getElementById('lng').value); 
    				}
    				else{
    				  alert("nada");
    				}
    		   });
    		   return $latitude;
    		  }
    		</script>
    	</head>
    
    	<body>  
    		<?php
    
    			// LECTURE FICHIER EN ENTREE
    			$ligne = file('Geocodage.csv');
    			$nbLigne = count($ligne);
    				
    			// Boucle sur les lignes du fichier
    			foreach($ligne as $row) {
    				// on découpe la ligne suivant la tabulation
    				$split = explode(";",$row); 
    				$code = $split[0]; 
    				$ville = $split[1]; 
    				$cp = $split[2];
            $adresse = $cp.' '.$ville;			
    					
    				// RECHERCHE COORDONNEES
    		    //Appel du geocoder 
    		    echo '<script>';
    		    echo 'showAddress($adresse)';
    		    echo '</script>';
    		    sleep(1);
            echo $_GET['$latitude'];
    			
    				// ECRITURE FICHIER SORTIE
    				if (!file_exists('Result_Geo.csv')) {
    					//---< Ressource >
    					$fichierRefEts = @fopen('Result_Geo.csv', 'a') or die('Ouverture en écriture du fichier < Result_Geo.csv > impossible !');
    					//---< Ecriture enregistrement "ENTETE" >
    					fwrite($fichierRefEts,  "CODE".";"."VILLE".";"."CP".";"."LATITUDE".";"."LONGITUDE".";"."\n");
    				}
    				fwrite($fichierRefEts,	"$code".";"."$ville".";"."$cp".";"."$latitude".";"."$longitude".";"."\r");
    			}
    			echo 'Nombre de lignes lues : '.$nbLigne;
    		?>
    	</body>
    </html>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonsoir,
    le PHP génère une page, coté serveur, qui sera exécutée coté client .

    Dans ton code toutes les lignes générées suite à ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // RECHERCHE COORDONNEES
    //Appel du geocoder
    echo '<script>';
    echo 'showAddress($adresse)';
    echo '</script>';
    seront exécutées coté client, mais pas dans ton PHP, ce qui fait que toutes les lignes qui suivent ne seront interprétées coté serveur, mais sans les valeurs en retour de la fonction showAddress non excécutée.

    Observes le fichier HTML généré par PHP pour voir ce qui s'exécute coté client.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    J'ai finalement tout fait
    - en VBA
    - et en PHP et avec Curl, à force de fouiller sur Internet.
    Mais j'ai d'autres soucis, qui vont faire l'objet d'un autre message.

    Merci en tout cas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment récupérer une variable javascript dans PHP
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 08/10/2010, 06h08
  2. Réponses: 9
    Dernier message: 23/06/2009, 10h54
  3. Réponses: 2
    Dernier message: 05/05/2007, 23h11
  4. Récupérer des variables Perl dans un script PHP
    Par barabath dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2006, 01h27
  5. Réponses: 4
    Dernier message: 05/10/2005, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo