Bonjour,
je souhaite récupérer les coordonnées latitude et longitude à partir d'une adresse. Mon problème c'est que ma fonction ne me renvoie aucune donnée et je ne comprends pas pourquoi.
J'utilise la fonction suivante :
J'appelle cette fonction et je récupère le résultat de la façon suivante :
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 function toCoordinates($address) { $bad = array( " " => "+", "," => "+", "?" => "", "&" => "", "=" => "" ); // nettoyage de l'adresse $address = strtr($address,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"); $address = str_replace(array_keys($bad), array_values($bad), $address); $data = new SimpleXMLElement(file_get_contents("http://maps.googleapis.com/maps/api/geocode/xml?address=".$address."&sensor=false")); echo "<br>data $data<br>"; $latitude = $data->result->geometry->location->lat; $longitude = $data->result->geometry->location->lng; $response = $data->GeocodeResponse->status; return array($latitude, $longitude, $response); }
Ce qui est étrange c'est que la fonction ne me renvoie rien pour la valeur suivante par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $tab_localisation = toCoordinates($adresse); $latitude = $tab_localisation[0]; $longitude = $tab_localisation[1]; $reponse = $tab_localisation[2]; echo "<br>Reponse: $reponse"; echo "<br>Latitude Longitude : $latitude $longitude ";
Alors que si j'appelle directement l'API de Google maps cela me renvoie bien des résultats.57 rue du Faubourg Montmartre, Paris, France 75009
http://maps.googleapis.com/maps/api/geocode/xml?address=57%20rue%20du%20Faubourg%20Montmartre,%20Paris,%20France%2075009&sensor=false
Donc je ne vois pas pourquoi je ne recupere aucune information.
Par avance merci de votre aide.
Partager