2010-05-20 11 views
19

Mam starą aplikację gmaps przy użyciu V2 i próbuję zaktualizować go do wersji v3.gmaps v3 get szerokość geograficzna od event.latLng

Mam naprawdę prosty problem, ale nie mogę jeszcze znaleźć rozwiązania.

Jak mogę usunąć szerokość i długość geograficzną z "event.latLng"?
To jest zwracanie point(), ale potrzebuję tylko lat sam i długo dla siebie.

Nie mogę tego zrobić.

Odpowiedz

45

Zgodnie z the API for MouseEvents, event.latLng zawiera LatLng, a nie Point. W takim przypadku można użyć metod lat() i lng(), aby uzyskać wartości osobno. Jeśli event.latLng jest rzeczywiście Point, możesz uzyskać bezpośredni dostęp do współrzędnych, używając właściwości x i y (a nie metod).

Jaki typ słuchacza tworzy wydarzenie?


Edit: Jest takie example in the tutorial jak to zrobić, co chcesz. Wygląda na to, że już to robisz. Czy pamiętasz, aby dołączyć rzeczywistą deklarację funkcji placeMarker()?

function placeMarker(location) { 
    var clickedLocation = new google.maps.LatLng(location); 
    var marker = new google.maps.Marker({ 
     position: location, 
     map: map 
    }); 
    map.setCenter(location); 
} 

Czy nie jesteś zainteresowany umieszczeniem markera i chcesz uzyskać wartości lat i lng? W tym przypadku, wszystko czego potrzebujesz to:

google.maps.event.addListener(map, 'click', function(event) { 
    var myLatLng = event.latLng; 
    var lat = myLatLng.lat(); 
    var lng = myLatLng.lng(); 
}) 
+0

hallo .. iam próbuje następujące google.maps.event.addListener (mapa, kliknij \ '\', function (event) { placemarker (event .latLng); }); Po prostu muszę wyodrębnić lat i lon z tego – gmapsuser

+0

Cieszę się, że to słyszę. Którą rzecz trzeba naprawić? –

+0

'var lat = myLatLng.lat();' i 'var lng = myLatLng.lng();' nie będzie działać w wersji v3, sprawdziłem .. –

Powiązane problemy