Geolocation 如何获得地理定位的结果

Geolocation 如何获得地理定位的结果,geolocation,Geolocation,navigator.geolocation.getCurrentPosition需要三个参数success、fail和options 我想得到的是位置的结果。我尝试通过success函数返回position,但它返回“undefined” function success(pos) { var crd = pos.coords; console.log('Your current position is:'); console.log('Latitude : ' + crd.lat

navigator.geolocation.getCurrentPosition
需要三个参数success、fail和options

我想得到的是位置的结果。我尝试通过success函数返回position,但它返回“undefined”

function success(pos) {
  var crd = pos.coords;

  console.log('Your current position is:');
  console.log('Latitude : ' + crd.latitude);
  console.log('Longitude: ' + crd.longitude);
  console.log('More or less ' + crd.accuracy + ' meters.');
  return pos;
};
pos = navigator.geolocation.getCurrentPosition(success, error, options);
console.log('pos', pos);

getCurrentPosition在成功处理程序中返回Position对象

如果您想稍后引用position,唯一的方法是将其存储在全局变量中,然后再使用它。请记住,只有在成功回调之后才会初始化全局设置

 var g_pos;

 function error(e){
  alert(e);
 }

 function success(pos) {
   var crd = pos.coords;
   g_pos = pos; // assign to global
   console.log('Your current position is:');
   console.log('Latitude : ' + crd.latitude);
   console.log('Longitude: ' + crd.longitude);
   console.log('More or less ' + crd.accuracy + ' meters.');
   return pos;
 };

 var options = {
   enableHighAccuracy: true,
   timeout: 5000,
   maximumAge: 0
 };

 navigator.geolocation.getCurrentPosition(success, error, options);

 //hint type g_pos in console after and you can see the position object.

是的,这就是问题所在,我怎样才能立即接到回电?我能想到的唯一解决方案是使用a函数捕捉调用。我有一个基于pos变量的程序;很难知道是成功呼叫还是错误呼叫。