Page 1 sur 1
affichage ville sur google map
Posté : 15 févr. 2010, 19:39
par tom_nameless
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
Re: affichage ville sur google map
Posté : 16 févr. 2010, 10:28
par jojolapine
Hoplà:
Voilà un exemple

Re: affichage ville sur google map
Posté : 16 févr. 2010, 11:27
par tom_nameless
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
Posté : 16 févr. 2010, 11:57
par jojolapine
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
Posté : 16 févr. 2010, 12:00
par tom_nameless
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
Posté : 16 févr. 2010, 12:09
par jojolapine
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
Posté : 16 févr. 2010, 13:09
par tom_nameless
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
Posté : 16 févr. 2010, 13:50
par jojolapine
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
Posté : 16 févr. 2010, 13:52
par jojolapine
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
Posté : 16 févr. 2010, 14:09
par tom_nameless
dsl mais je n'ai pas bien compris ton dernier post !

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
Posté : 17 févr. 2010, 15:26
par tom_nameless
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
Posté : 17 févr. 2010, 16:14
par jojolapine
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
Posté : 17 févr. 2010, 16:34
par tom_nameless
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