Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/12/2010, 04:29
Avatar de stock
stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 8 meses
Puntos: 53
Respuesta: problema con funcion

Tienes que usar un callback ya que el método getCurrentPosition ejecuta una llamada asincrona a los servicios de posicionamiento. Yo haría algo así:

Código Javascript:
Ver original
  1. var Geolocation = {
  2.  
  3.       getPosition : function(options){
  4.             options.scope = options.scope || window;
  5.  
  6.             if(navigator.geolocation) {
  7.                   navigator.geolocation.getCurrentPosition(function(position) {
  8.                         options.success.call(options.scope,position.coords);
  9.                   });
  10.             }else{
  11.                   options.failure.call(options.scope);
  12.                   //quizas disparar un error....
  13.                   //throw Error("Tu navegador no soporta geolocalización, intenta actualizarlo");
  14.             }
  15.       }
  16.  
  17. };
  18.  
  19.  
  20. //forma de uso
  21. Geolocation.getPosition({
  22.       success : function(coords){console.debug(coords);},
  23.       failure  : function(){console.debug(error!!);}
  24. });


Saludos