2011-11-06 10 views
26

Próbuję zbudować mobilną webappę HTML5, w której użytkownik może kliknąć mapę, aby uzyskać długie/długie z Map Google. Czy istnieje przykład kodu? Próbowałem googling, ale znalazłem tylko stronę, która to robi, ale bez przykładu soucecode.Google Maps HTML5 kliknij, aby uzyskać lat, długie

Dzieje się tak, ponieważ zamierzam użyć geolokalizacji HTML5, aby najpierw wyświetlić bieżącą lokalizację, ale jeśli nie jest ona dokładna, użytkownicy mogą to określić samodzielnie.

Wielkie dzięki.

+0

Jestem pewien, że są prawdziwymi źródłami samouczków tam, ale ty * * mógłby również zajrzeć do kodu źródłowego tych witryn .... –

Odpowiedz

41

Kod poniżej pokaże, jak zdobyć długiej i Lat, gdy użytkownik kliknie na mapę - 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

ten jest super. Kinda myślał, że to właśnie z interfejsu Google Maps API. Zdarzenie to jest jednak wyzwalane po dotknięciu mapy w celu jej przesunięcia lub położenia (kursor zamienia się w zamkniętą dłoń). Mousedown w innych językach. Jak strzelałbyś do Mouse Up? – JustJohn

1

musiał użyć argumentu zdarzenia.

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

Chcę pokazać Ci pełną answere:

to główna część kodu zdarzenie jest na podstawie kliknięciem i uzyskać Lat/Długi z kliknięciem i pokazać go na alert()

google.maps.event.addListener (mapa, 'click', function() {zdarzeń 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> 

zmień API KEY

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

umieścić klucz API pomiędzy key = i & zwrotnej:

https://maps.googleapis.com/maps/api/js?key= @@@@@@@ & zwrotna = MyMap

+0

Czy możesz zaproponować, jak zasugerować wszystkie długie z sub-promieniem danego centrum. – Rohitesh

Powiązane problemy