Api google maps javascript
Résolu/Fermé
momohuri
Messages postés
235
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
9 février 2012
-
24 oct. 2011 à 16:25
momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 - 25 oct. 2011 à 16:06
momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 - 25 oct. 2011 à 16:06
A voir également:
- Api google maps javascript
- Google maps satellite - Guide
- Google maps - Guide
- Dns google - Guide
- Google maps localisation - Guide
- Telecharger google maps pc - Télécharger - Téléchargement & Transfert
5 réponses
anatolekadel
Messages postés
102
Date d'inscription
jeudi 26 mai 2011
Statut
Membre
Dernière intervention
18 novembre 2011
3
24 oct. 2011 à 16:54
24 oct. 2011 à 16:54
Dans un premier temps, voilà ce qu'il faut mettre dans ton <form>
Il n'affichera pas la latitude et la longitude, mais il impose de devoir cliquer sur le bouton Géocoder avant d'envoyer le formulaire.
Et maintenant, le script JavaScript qui va avec:
Je pense qu'avec ce code, tu pourras récupérer ta latitude et ta longitude.
<input name = "adress" id="address" type="text" size = "35" value="" ><input id="lat" name = "lat" type="hidden" value=""><input name = "lng" id="lng" type="hidden" value=""> <input type="button" value="Geocoder" onclick="codeAddress()">
Il n'affichera pas la latitude et la longitude, mais il impose de devoir cliquer sur le bouton Géocoder avant d'envoyer le formulaire.
Et maintenant, le script JavaScript qui va avec:
<script type="text/javascript"> var geocoder; var map; var markers = new Array(); var i = 0; function initialize() { geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(47.383, 0.700); var myOptions = { zoom: 12, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } function codeAddress() { var address = document.getElementById("address").value; geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { ShowHide('para1'); return false; document.getElementById('lat').value = results[0].geometry.location.lat(); document.getElementById('lng').value = results[0].geometry.location.lng(); map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); markers.push(marker); if(markers.length > 1) markers[(i-1)].setMap(null); i++; } else { alert("Le geocodage n\'a pu etre effectue pour la raison suivante: " + status); } }); } function ShowHide(id) { var elt = document.getElementById(id); if (!elt) return; with(elt.style) { display = (display=="none" ) ? "" : "none"; } } </script>
Je pense qu'avec ce code, tu pourras récupérer ta latitude et ta longitude.
momohuri
Messages postés
235
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
9 février 2012
8
25 oct. 2011 à 10:20
25 oct. 2011 à 10:20
Bonjour, Merci pour cette reponse aussi rapide.
alors comme code je passe a :
Et pour le form :
j'ai bien ajoute
<input name="address" id="address" type="text" style="width: 250px;" />
<input id="lat" name = "lat" type="hidden" value=""><input name = "lng" id="lng" type="hidden" value="">
<input type="button" value="sauvegarde" onclick="codeAddress()">
J ai bien ma fonctione verrification qui ce lance ensuite et qui me redirige vers la page pour recuperer le tout .
mais sur cette page un :
$lat=$_POST['lat'];
echo $lat;
$lng=$_POST['lng'];
echo $lng;
Ca ne me trouve rien...
PS:La carte ne ce charge pas non plus
pourtant j ai bien le tout dans un <body onload='initialize()'>
et un : <div id="map_canvas"></div>
Merci
alors comme code je passe a :
<script> function initialize() { geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(47.383, 0.700); var myOptions = { zoom: 12, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var input = document.getElementById('address'); var autocomplete = new google.maps.places.Autocomplete(input); autocomplete.bindTo('bounds', map); var infowindow = new google.maps.InfoWindow(); var marker = new google.maps.Marker({ map: map }); google.maps.event.addListener(autocomplete, 'place_changed', function() { infowindow.close(); var place = autocomplete.getPlace(); if (place.geometry.viewport) { map.fitBounds(place.geometry.viewport); } else { map.setCenter(place.geometry.location); map.setZoom(17); } }); } function codeAddress() { var address = document.getElementById("address").value; geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { ShowHide('para1'); return false; document.getElementById('lat').value = results[0].geometry.location.lat(); document.getElementById('lng').value = results[0].geometry.location.lng(); map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); markers.push(marker); if(markers.length > 1) markers[(i-1)].setMap(null); i++; } else { alert("Le geocodage n\'a pu etre effectue pour la raison suivante: " + status); } }); verification(); } function ShowHide(id) { var elt = document.getElementById(id); if (!elt) return; with(elt.style) { display = (display=="none" ) ? "" : "none"; } } </script>
Et pour le form :
j'ai bien ajoute
<input name="address" id="address" type="text" style="width: 250px;" />
<input id="lat" name = "lat" type="hidden" value=""><input name = "lng" id="lng" type="hidden" value="">
<input type="button" value="sauvegarde" onclick="codeAddress()">
J ai bien ma fonctione verrification qui ce lance ensuite et qui me redirige vers la page pour recuperer le tout .
mais sur cette page un :
$lat=$_POST['lat'];
echo $lat;
$lng=$_POST['lng'];
echo $lng;
Ca ne me trouve rien...
PS:La carte ne ce charge pas non plus
pourtant j ai bien le tout dans un <body onload='initialize()'>
et un : <div id="map_canvas"></div>
Merci
anatolekadel
Messages postés
102
Date d'inscription
jeudi 26 mai 2011
Statut
Membre
Dernière intervention
18 novembre 2011
3
25 oct. 2011 à 12:22
25 oct. 2011 à 12:22
Fait un alert(); en JS pour afficher le contenu des deux hidden (par exemple juste après les avoir donné les valeurs correspondantes.
Pour la carte, as-tu mis dans ton head:
Pour la carte, as-tu mis dans ton head:
<script src="http://maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>
momohuri
Messages postés
235
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
9 février 2012
8
25 oct. 2011 à 15:11
25 oct. 2011 à 15:11
le alert me montre du vide
alert(document.getElementById('lat').value);
Alors que mon champ address s autocomplete bien avec la ville de mon choix.
alert(document.getElementById('lat').value);
Alors que mon champ address s autocomplete bien avec la ville de mon choix.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
momohuri
Messages postés
235
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
9 février 2012
8
25 oct. 2011 à 16:06
25 oct. 2011 à 16:06
c bon le
merci beaucoup
ShowHide('para1'); return false;faisait bugguer le code
merci beaucoup