Pues bien, tengo el siguiente código que me devuelve la dirección de mi ubicación:
Todo funciona correcto y como veis tengo una variable "direccion" con el valor que necesito. El problema esque al ser una petición asíncrona se pierde el valor al salir de la función y lo necesito en otra función en la cual le paso una serie de datos a un web service.
He probado a que dirección sea una variable global al principio del .js pero veo que tampoco funciona y sigo obteniendo "undefined".
A ver si podeis aclararme un poco el tema. Gracias.
Código Javascript:
Ver original
function getActualLocation() { var options = {timeout: 30000, enableHighAccuracy: true}; navigator.geolocation.getCurrentPosition(sucessPosition , errorPosition, options); } function sucessPosition(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; var reverseGeocoder = new google.maps.Geocoder(); var currentPosition = new google.maps.LatLng(latitude, longitude); reverseGeocoder.geocode({'latLng': currentPosition}, function (results, status) { if (status == google.maps.GeocoderStatus.OK) { if (results[0]) { direccion = results[0].formatted_address; } else { navigator.notification.alert('Error'); } } else { navigator.notification.alert('Error'); } }); } function errorPosition() { navigator.notification.alert('Error'); }