Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2013, 04:32
crash1912
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 13 años, 5 meses
Puntos: 4
Obtener ID de elemento previo tras drag marker en gmaps

Hola a todos, necesito incluir diversos mapas de google en una misma página cada uno con un buscador de direcciones y con un input hidden en el que se recepciones latitud y longitud, además el marker debe de tener la posibilidad de ser arrastrado.

Hasta la fecha, con un mapa simple lo había hecho de la siguiente forma
Código PHP:
google.maps.event.addListener(marker'drag', function() {
  
geocoder.geocode({'latLng'marker.getPosition()}, function(resultsstatus) {
    if (
status == google.maps.GeocoderStatus.OK) {
      if (
results[0]) {
        $(
'.address').val(results[0].formatted_address);
        $(
'.LatLng').val(marker.getPosition().lat() + ", " marker.getPosition().lng());
      }
    }
  });
}); 
Pero claro, ahora al incluír más mapas, necesito que al arrastrar el marker de cualquiera de ellos, actualice los input justamente anteriores, por lo que necesito o bien obtener el id del elemento anterior, o el del form, ya que cada mapa está dentro de un form.

He probado con lo siguiente:

Código PHP:
google.maps.event.addListener(marker'drag', function() {
  
geocoder.geocode({'latLng'marker.getPosition()}, function(resultsstatus) {
    if (
status == google.maps.GeocoderStatus.OK) {
      if (
results[0]) {
-->   
alert( $(this).prev('.address').attr('id') );
        $(
'.address').val(results[0].formatted_address);
        $(
'.LatLng').val(marker.getPosition().lat() + ", " marker.getPosition().lng());
      }
    }
  });
}); 
Sin éxito alguno, el objeto this no funciona aquí, no consigo obtener valor alguno de nada siempre que uso $(this) como objeto de referencia.

Como observación, decir que el número de mapas en una misma página será variable, por lo que no puedo meter los identificadores a mano en el código javascript, lo cual parchearía un poco el problema, aunque de una forma poco efectiva...

Espero estar más o menos explicándome bien... y cualquier ayuda que me podáis dar la agradeceré mucho.