如何在navigator.geolocation.getcurrentposition完成后调用另一个js函数?

时间:2012-07-07 15:32:21

标签: google-maps-api-3

看看这个:

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

所以在内部'if'我想检查一下navigator.geolocation.getcurrentposition();已经成功完成。任何帮助都将受到高度赞赏。

谢谢..

1 个答案:

答案 0 :(得分:1)

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

在你的函数中,成功时会调用一个名为positionSuccess的函数;如果地理位置失败,则会调用positionError

所以你需要提供一个名为positionSuccess()的函数来进行保存。你不需要自己检查。

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