bonjour,
je cherche à récuperer la latitude et longitude d'une adresse rentrée par un utilisateur dans un formulaire.
pour cela j'utilise le geocoder de google map.
le geocoder calcule bien les coordonnées (si je fais un alert dans le script, il me les affiche) en revanche je n'arrive pas a stocker ces coordonnées dans une variables php, ou dans une base de données, ce qui est mon but.
mon code se décompose en 2 pages :
sur la premiere page (index.php) , on fournit une adresse (exemple : 75010, france). la fonction showadress calcule les coordonnées (latitude, longitude) et renvoie la valeur, qu'on transmet sur la page suivante (afficher.php) dans une variable php qu'on affiche
code de index.php :
code de afficher.php
le probleme c'est que la fonction showadress renvoie la valeur "undefined" ;
pourtant, si je met alert (retour) au lieu de return (retour) dans la fonction, j'ai bien une alerte javascript avec les coordonnées souhaitées...
alors ou est le pb? ca fait plus de 3 jours que je m'arrache les cheveux la dessus..
Merci pour votre aide
je cherche à récuperer la latitude et longitude d'une adresse rentrée par un utilisateur dans un formulaire.
pour cela j'utilise le geocoder de google map.
le geocoder calcule bien les coordonnées (si je fais un alert dans le script, il me les affiche) en revanche je n'arrive pas a stocker ces coordonnées dans une variables php, ou dans une base de données, ce qui est mon but.
mon code se décompose en 2 pages :
sur la premiere page (index.php) , on fournit une adresse (exemple : 75010, france). la fonction showadress calcule les coordonnées (latitude, longitude) et renvoie la valeur, qu'on transmet sur la page suivante (afficher.php) dans une variable php qu'on affiche
code de index.php :
Code:
<head>
<title>Application Google Map</title>
<script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAal_cd43vOKPQhNkPDkwHgBQSXE4ITa1YzwIbIoQt-CisjCLm8xTJhtTXHvXoMcij_eu3bNbEGnk_PA" type="text/javascript"></script>
<style type="text/css">
</style>
</head>
<body style="margin: 0px; padding: 0px;">
<form action="afficher.php" method="post" onsubmit="document.getElementById('latLngStr').value=showAddress(address_rech.value);">
<input type="text" id="address_rech" name="address_rech" value="" >
<input type=hidden id="latLngStr" name='latLngStr'>
<input type="submit" id="submit" value="Localiser" />
</form>
<div id="map" style="width: 400px; height: 300px"></div>
<script type="text/javascript">
var geocoder = new GClientGeocoder();
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(address, function(point) {
if (!point) { /* Si les coordonnées n'ont pas été trouvés */
alert("Impossible de localiser l'adresse :\n\n" + address);
} else {
var retour= '(' + point.y + ', ' + point.x + ')';
return retour;
}
});
}
}
</script>
</body>
</html>
code de afficher.php
Code:
<html>
<body>
<?php
if(isset($_POST['latLngStr']))
{
$calcul=$_POST['latLngStr'];
}
else
{
$calcul="pas de valeur";
}
echo "$calcul<br>";
?>
</body>
</html>
le probleme c'est que la fonction showadress renvoie la valeur "undefined" ;
pourtant, si je met alert (retour) au lieu de return (retour) dans la fonction, j'ai bien une alerte javascript avec les coordonnées souhaitées...
alors ou est le pb? ca fait plus de 3 jours que je m'arrache les cheveux la dessus..
Merci pour votre aide