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 originalvar Geolocation = {
getPosition : function(options){
options.scope = options.scope || window;
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
options.success.call(options.scope,position.coords);
});
}else{
options.failure.call(options.scope);
//quizas disparar un error....
//throw Error("Tu navegador no soporta geolocalización, intenta actualizarlo");
}
}
};
//forma de uso
Geolocation.getPosition({
success : function(coords){console.debug(coords);},
failure : function(){console.debug(error!!);}
});
Saludos