2011-11-06 13 views
26

Sto provando a creare una webapp mobile HTML5 in cui l'utente può fare clic sulla mappa per ottenere lat/long da Google Maps. Esiste un esempio di codice? Ho provato su Google, ma ho trovato solo un sito web che lo fa, ma nessun esempio di codice di sicurezza.Google Maps HTML5 fare clic per ottenere lat, long

Questo perché utilizzerò la geolocalizzazione HTML5 per visualizzare prima la posizione corrente, ma se non è accurata, gli utenti possono specificarlo da soli.

Grazie mille.

+0

Sono sicuro che ci sono fonti di tutorial veri là fuori, ma è riuscito a * * Anche prendere in considerazione il codice sorgente dei siti .... –

risposta

41

Il codice qui sotto vi mostrerà come ottenere il lungo e Lat quando l'utente fa clic la cartina - Allow user to place marker on a google map

google.maps.event.addListener(map, 'click', function(event){ 
    alert("Latitude: "+event.latLng.lat()+" "+", longitude: "+event.latLng.lng()); 
}); 
+0

Questo è grande. Si pensava che questo fosse dal riferimento dell'API di Google Maps. Tuttavia, questo evento si attiva quando si tocca la mappa per spostarla o posizionarla (il cursore diventa mano chiusa). Mousedown in altre lingue. Come lo licenzierai su Mouse Up? – JustJohn

1

Devi usare argomento evento.

google.maps.event.addListener(map, 'click', function(event) { 
    marker = new google.maps.Marker({position: event.latLng, map: map}); 
    console.log(event.latLng); // Get latlong info as object. 
    console.log("Latitude: "+event.latLng.lat()+" "+", longitude: "+event.latLng.lng()); // Get separate lat long. 
}); 
0

voglio visualizzare la completa answere:

questo è parte principale del codice dell'evento è basata su click e ottenere Lat/Long con click e mostrarlo a alert()

google.maps.event.addListener (mappa, 'click', la funzione (evento) {alert (event.latLng.lat() + "" + event.latLng.lng());}) ;

<!DOCTYPE html> 
<html> 
<body> 
<div id="googleMap" style="width:100%;height:400px;"></div> 

<script> 
function myMap() { 
var mapProp= { 
    center:new google.maps.LatLng(51.508742,-0.120850), 
    zoom:5, 
}; 
var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); 

google.maps.event.addListener(map, 'click', function(event) { 
alert(event.latLng.lat() + ", " + event.latLng.lng()); 
}); 

} 
</script> 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBu-916DdpKAjTmJNIgngS6HL_kDIKU0aU&callback=myMap"></script> 
</body> 
</html> 

si prega di cambiare la tua chiave API

src = "https://maps.googleapis.com/maps/api/js?key=AIzaSyBu-916DdpKAjTmJNIgngS6HL_kDIKU0aU & callback = myMap"

mettere la chiave API tra key = e & callback:

https://maps.googleapis.com/maps/api/js?key= @@@@@@@ & callback = myMap

+0

puoi suggerire come suggerire tutto il lat lungo con il sotto raggio del centro dato. – Rohitesh

Problemi correlati