0

看看这个:

  function doGeolocation() {
       if (navigator.geolocation) {
          navigator.geolocation.getCurrentPosition(positionSuccess, positionError);
       if(//here i need check)
         {
         Save();
         } 
      }
  else 
  {
    positionError(-1);
  }
}

因此,在内部“如果”中,我想检查 navigator.geolocation.getcurrentposition(); 已经成功完成。任何帮助将不胜感激。

谢谢..

4

1 回答 1

1

getCurrentPosition自己检查是否成功,并根据结果调用不同的函数。

在您的函数中,成功positionSuccess时将调用一个被调用的函数;如果地理定位失败,那么positionError将被调用。

因此,您需要提供一个positionSuccess()可以进行保存的函数。你不需要自己检查。

请记住,这getCurrentPosition需要一些时间。这被移交给一个单独的进程[这称为异步处理],您的代码将继续到下一行。在您当前的代码中,执行将在找到地理定位结果之前到达“这里我需要检查”测试。这就是为什么还有其他函数来处理成功和失败的原因——无法保证何时返回结果。

于 2012-07-07T17:35:06.347 回答