Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/02/2016, 13:41
Avatar de Pantera80
Pantera80
 
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 10 años
Puntos: 6
Respuesta: Sacar valor de variable de una función de geolocalización

Perdona ZedGe1505 por tardar tanto en contestar, pero quería estar seguro antes.

He depurado a tope y no he conseguido saber dónde había fallado. Así que decidí cambiar el planteamiento de la función y en vez de basarme en la dirección del usuario lo he hecho en sus coordenadas (mucho más fáciles de obtener). Así queda la cosa:

Aquí consigo las coordenadas del usuario:

Código:
/********calcularMiUbicacion()*************************************/
    function calcularMiUbicacion(){
                
        if(!navigator.geolocation){
            alert('Tu navegador no soporta geolocalización'); 
            return;
        }
                            
        function success(position){
                    
            var latitud = position.coords.latitude;
            var longitud = position.coords.longitude;
            
            var lat = parseFloat(latitud);
            var lng = parseFloat(longitud);
                                
            var latlng = {
                lat:lat ,
                lng: lng
            };            
            origen = latlng;
           
            calcularRuta();                     
                                    
        }          
          
        function error(){
            alert('Incapaz de conseguir tu ubicación');
        }
        
        navigator.geolocation.getCurrentPosition(success,error);
                       
               
    }
    
    /********Fin calcularMiUbicacion()*************************************/

Y aquí creo la ruta:
Código:
//****calcularRuta()**************************
    function calcularRuta(){
        
        var request = {
             origin: origen,
             destination: destino,
             travelMode: google.maps.DirectionsTravelMode[$('#modo_viaje').val()],
             unitSystem: google.maps.DirectionsUnitSystem[$('#tipo_sistema').val()],
             provideRouteAlternatives: true
        };
                
        directionsService.route(request, function(response, status) {
            if (status === google.maps.DirectionsStatus.OK) {
                directionsDisplay.setMap(map);
                directionsDisplay.setPanel($("#panel_ruta").get(0));
                directionsDisplay.setDirections(response);
            } else {
                    alert("No existen rutas entre ambos puntos");
            }
        });
    }
    /******Fin calcularRuta()***************************************/

Última edición por Pantera80; 22/02/2016 a las 13:48