affichage ville sur google map

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : affichage ville sur google map

Re: affichage ville sur google map

par tom_nameless » 17 févr. 2010, 16:34

j'ai trouvé la solution....
j'ai modifié le code et j'ai changé le format xml en csv... qui est plus simple à lire

Code : Tout sélectionner

$adresse = "rouen"; $key = "MON CODE API"; $adresse = urlencode($adresse); $url = 'http://maps.google.com/maps/geo?&q='.$adresse.'+FR&output=csv&key='.$key; $page = file_get_contents($url); $adresses = explode(',', $page); echo "latitude : ".$adresses[2]; echo"<br />"; echo "longitude : ".$adresses[3];
par contre j'ai un doute sur la latitude et la longitude... c'est peut être liverse

Re: affichage ville sur google map

par jojolapine » 17 févr. 2010, 16:14

yep!
Alors ton problème est tout à fait normal, simple xml t'indique en gros que ton fichier xml n'est pas valide...
c'est bien normal puisque tu as demandé à google de te renvoyer les résultats au format json :)
Demande lui un format xml

Re: affichage ville sur google map

par tom_nameless » 17 févr. 2010, 15:26

mon nouveau code :

Code : Tout sélectionner

function get_coordonees_from_adresse($adresse) { $key = "MON CODE API"; $adresse = urlencode($adresse); $url = 'http://maps.google.com/maps/geo?q='.$adresse.'+FR&output=json&sensor=true_or_false&key='.$key; $page = file_get_contents($url); // Parse le résultat XML $xml_result = simplexml_load_string($page); // Vérifie que la requête a réussi if ($xml_result->Response->Status->code != 200) return array(); // Charge les adresses $adresses = array(); foreach ($xml_result->Response->Placemark as $place) { list($longitude, $latitude, $altitude) = explode(',', $place->Point->coordinates); // Ajoute au tableau $adresses[] = array('adresse_complete' => utf8_decode($place->address), 'latitude' => $latitude, 'longitude' => $longitude); } return $adresses; } $adresse = "Rouen"; get_coordonees_from_adresse($adresse); { echo "latitude :".$adresses['latitude']; echo"<br />"; echo "longitude :".$adresses['longitude']; }
visiblement j'ai une nouvelle erreur :

Code : Tout sélectionner

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in C:\wamp\www\ESSAI\lecture-xml\index.php on line 11 Warning: simplexml_load_string() [function.simplexml-load-string]: { in C:\wamp\www\ESSAI\lecture-xml\index.php on line 11 Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in C:\wamp\www\ESSAI\lecture-xml\index.php on line 11 Notice: Trying to get property of non-object in C:\wamp\www\ESSAI\lecture-xml\index.php on line 13 Notice: Trying to get property of non-object in C:\wamp\www\ESSAI\lecture-xml\index.php on line 13 Notice: Trying to get property of non-object in C:\wamp\www\ESSAI\lecture-xml\index.php on line 13
quelqu'un pourrait il m'aider à trouver l'erreur ??

Re: affichage ville sur google map

par tom_nameless » 16 févr. 2010, 14:09

dsl mais je n'ai pas bien compris ton dernier post ! :oops:
j'ai l'impression que ça ne change rien..

Code : Tout sélectionner

function get_coordonees_from_adresse($adresse) { $adresse = "rouen,"; $key = "MON CODE GOOGLE API"; $adresse = urlencode($adresse); $url = 'http://maps.google.com/maps/geo?q='.$adresse.'+FR&output=json&sensor=true_or_false&key='.$key; $page = file_get_contents($url); // Parse le résultat XML $xml_result = simplexml_load_string($page); // Vérifie que la requête a réussi if ($xml_result->Response->Status->code != 200) return array(); // Charge les adresses $adresses = array(); foreach ($xml_result->Response->Placemark as $place) { list($longitude, $latitude, $altitude) = explode(',', $place->Point->coordinates); // Ajoute au tableau $adresses[] = array('adresse_complete' => utf8_decode($place->address), 'latitude' => $latitude, 'longitude' => $longitude); } return $adresses; print $latitude; return $adresses[2]; echo $adresses['longitude']; }
mes variables sont vides.. il me semble..

Re: affichage ville sur google map

par jojolapine » 16 févr. 2010, 13:52

Oups j'ai loupé un épisode :-°
En fait la fonction simplexml_load_string() renvoi déjà un objet, donc pas ton code deviens:
$page = file_get_contents($url);
  // Parse le résultat XML
  $xml_result = simplexml_load_string($page);
  // Vérifie que la requête a réussi
  if ($xml_result->Response->Status->code != 200) return array();

Re: affichage ville sur google map

par jojolapine » 16 févr. 2010, 13:50

Essaye de faire plutôt un file_get_contents() sur l'url, et ensuite tu utilises http://fr.php.net/manual/fr/function.si ... string.php

Re: affichage ville sur google map

par tom_nameless » 16 févr. 2010, 13:09

j'ai un code mais visiblement les variables ne sont pas générées..
<?php
session_start();
 
function get_coordonees_from_adresse($adresse)
{
  $adresse = "rouen,";
  $key = "le code google API"; 
  $adresse = urlencode($adresse);
  $url = 'http://maps.google.com/maps/geo?q='.$adresse.'+FR&output=json&sensor=true_or_false&key='.$key;
  $page = file_get_contents($url);
  // Parse le résultat XML
  $xml_result = new SimpleXMLElement($page);
  // Vérifie que la requête a réussi
  if ($xml_result->Response->Status->code != 200) return array();
  // Charge les adresses
  $adresses = array();
  foreach ($xml_result->Response->Placemark as $place)
  {
    list($longitude, $latitude, $altitude) = explode(',', $place->Point->coordinates);
    // Ajoute au tableau
    $adresses[] = array('adresse_complete' => utf8_decode($place->address),
             'latitude' => $latitude,
             'longitude' => $longitude);
  }
  return $adresses;
} 
print $latitude;
echo"<br />";
print $adresses['latitude'];
echo"<br />";
echo $adresses['longitude'];

?>

Re: affichage ville sur google map

par jojolapine » 16 févr. 2010, 12:09

php5 ?
=> http://fr.php.net/simplexml
php4 ?
=> http://fr.php.net/manual/fr/book.domxml.php
Essaye par toi même et reviens nous voir si t'as des soucis ;)

Re: affichage ville sur google map

par tom_nameless » 16 févr. 2010, 12:00

ok merci jojolapine,
et comment je peux faire pour récupérer ces données pour les enregistrer dans ma bdd ?
existe-t-il une petite application ou script qui permet de retourner les variables en php ?

Re: affichage ville sur google map

par jojolapine » 16 févr. 2010, 11:57

Ce sont les données qu'il y a dans <coordinates> par contre je sais plus dans quel ordre :-°
Essaye longitude,latitude, si ça foire, fait l'inverse :)

Re: affichage ville sur google map

par tom_nameless » 16 févr. 2010, 11:27

merci pour ce bel exemple.. où sont la latitude et longitude dans le code ci-dessous ?

Code : Tout sélectionner

<ExtendedData> <LatLonBox north="49.4713785" south="49.4133379" east="1.1625221" west="1.0344627"/> </ExtendedData> − <Point> <coordinates>1.0984924,49.4423668,0</coordinates> </Point>
car j'aimerai lors de l'enregistrement d'une adresse dans ma bdd, chercher la longitude et latitude pour les enregistrer en même temps...
quelqu'un a-t-il une solution à mon problème ?

Re: affichage ville sur google map

par jojolapine » 16 févr. 2010, 10:28

affichage ville sur google map

par tom_nameless » 15 févr. 2010, 19:39

Bonjour,
Je ne sais pas si c'est ici que je dois poster ce message...dsl, je m'excuse par avance...

Mais j'aimerais trouver la longitude et la lattitude d'une ville (avec son nom,codepostal) pour l'afficher sur googlemap dans mon site.
Savez- vous comment procéder ?
j'imagine qu'il existe des sites où l'on envoi des variables sur une page ou autre mais je ne trouve pas !

merci