Foros del Web » Programando para Internet » Javascript »

Obtener valor desde otro método

Estas en el tema de Obtener valor desde otro método en el foro de Javascript en Foros del Web. Hola gente, estoy aprendiendo javascript y estoy bastante confundido, soy programador java, y me resultan extraños los métodos asíncronos jajaja, además no me aclaro con ...
  #1 (permalink)  
Antiguo 14/12/2014, 09:31
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta Obtener valor desde otro método

Hola gente, estoy aprendiendo javascript y estoy bastante confundido, soy programador java, y me resultan extraños los métodos asíncronos jajaja, además no me aclaro con los callbacks.

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
  1. function getActualLocation() {
  2.     var options = {timeout: 30000, enableHighAccuracy: true};
  3.     navigator.geolocation.getCurrentPosition(sucessPosition , errorPosition, options);
  4. }
  5.  
  6. function sucessPosition(position) {
  7.    
  8.    var latitude = position.coords.latitude;
  9.    var longitude = position.coords.longitude;
  10.  
  11.    var reverseGeocoder = new google.maps.Geocoder();
  12.    var currentPosition = new google.maps.LatLng(latitude, longitude);
  13.     reverseGeocoder.geocode({'latLng': currentPosition}, function (results, status) {
  14.  
  15.     if (status == google.maps.GeocoderStatus.OK) {
  16.         if (results[0]) {
  17.            direccion = results[0].formatted_address;
  18.         } else {
  19.             navigator.notification.alert('Error');
  20.         }
  21.       } else {
  22.           navigator.notification.alert('Error');
  23.       }
  24.     });
  25. }
  26.  
  27. function errorPosition() {
  28.    navigator.notification.alert('Error');
  29. }
  #2 (permalink)  
Antiguo 14/12/2014, 10:18
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener valor desde otro método

Puede que esto te sirva:

http://www.forosdelweb.com/f13/por-q...iable-1115357/
  #3 (permalink)  
Antiguo 14/12/2014, 10:43
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener valor desde otro método

Ese lo leí y no me sirve, puesto que está diciendo de usarla dentro de la propia función. Yo necesito llevarme el valor fuera de sucessPosition para recoger la dirección en otra.

Etiquetas: funcion, js, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:03.