2010-05-20 8 views
19

Tengo una aplicación antigua de gmaps usando V2 y estoy tratando de actualizarla a v3.gmaps v3 obtener latitude from event.latLng

Tengo un problema realmente simple, pero no puedo encontrar una solución todavía.

¿Cómo puedo quitar la latitud y la longitud del "event.latLng"?
Devuelve un point(), pero solo necesito el lat y el largo para sí mismo.

No puedo hacer que esto funcione.

Respuesta

45

Según the API for MouseEvents, event.latLng contiene LatLng, no Point. Si este es el caso, puede usar los métodos lat() y lng() para obtener los valores por separado. Si event.latLng es en realidad un Point, puede acceder directamente a las coordenadas utilizando las propiedades x y y (no los métodos).

¿Qué tipo de oyente está creando el evento?


Editar: hay un example in the tutorial de cómo hacer lo que quiera. Parece que ya estás siguiendo esto. ¿Recordó incluir la declaración de la función real placeMarker()?

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

o no está interesado en la colocación de un marcador, y sólo quieren obtener los valores de latitud y el GNL? En ese caso, todo lo que necesita es:

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

hallo .. iam tratando el siguiente google.maps.event.addListener (mapa, \ 'clic \', function (event) { placemarker (evento .latLng); }); solo necesito extraer el lat y lon de este – gmapsuser

+0

Me alegra escucharlo. ¿Qué cosa necesitas arreglar? –

+0

'var lat = myLatLng.lat();' y 'var lng = myLatLng.lng();' no funcionará en v3, he comprobado ... –

Cuestiones relacionadas