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(results, status) {
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(results, status) {
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.