Estoy trabajando en una web donde necesito saber la dirección del usuario para crear una ruta de su localización hasta la del cliente.
Hasta ahora he conseguido trazarla cuando el usuario introduce una dirección, pero me gustaría que esto funcionase para poner el típico botón de "Usar mi localización actual"
El problema en concreto que tengo es que, como indico en el código, consigo la dirección y la pinto en un alert, pero sin embargo la variable "direccion" me aparece todo el rato, incluso en depuración como UNDEFINED.
Agradezco cualquier ayuda, gracias
Código:
function calcularMiUbicacion(){ debugger; var direccion=''; var output = document.getElementById("out"); if(!navigator.geolocation){ output.innerHTML="<p>Tu navegador no soporta Geolocalización</p>"; return; } function success(position){ debugger; alert('Estoy en success'); var latitud = position.coords.latitude; var longitud = position.coords.longitude; var direccion=''; var geocoder = new google.maps.Geocoder; var latlng = { lat:latitud , lng: longitud }; geo =geocoder.geocode( {'location': latlng}, function(results, status) { if (status === google.maps.GeocoderStatus.OK) { if (results[0]) { //Aquí tenemos la direccion(probado) direccion = results[0].formatted_address.toString(); Este alert pinta BIEN la dirección alert('direccion: '+direccion); } else { window.alert('No results found'); } } else { window.alert('Geocoder failed due to: ' + status); } }); } function error(){ alert('Incapaz de conseguir tu ubicación'); output.innerHTML="Incapaz de conseguir tu ubicación"; } direccion = navigator.geolocation.getCurrentPosition(success,error); return direccion; }