科尔多瓦地理位置在应用程序启动后打开时失败



我在Cordova应用程序(在Android上;在iOS上工作得很好)上有这个东西,这意味着一些位置问题。让我解释一下:

由于该应用程序需要在启动时进行位置检查,因此我会显示一条带有重试按钮的警告消息。

所以我有这个非常简单的场景:

  1. 在位置关闭的情况下启动应用。显示警告
  2. 打开该位置信息,然后重试以定位
  3. 仍未检测到该位置

我有一个非常简单的测试用例:

navigator.geolocation.getCurrentPosition(
  function(e){ console.log(e) },
  function(e){ console.log(e) },
  {
    enableHighAccuracy : true
  }
);

知道这里出了什么问题吗?

我有同样的问题,不知道为什么会发生,但我是这样解决的:

  • 使用navigator.geolocation.watchPosition而不是navigator.geolocation.getCurrentPosition;
  • 无论是成功还是错误,请拨打clearWatch

即使第一次未打开 GPS/位置,后续对navigator.geolocation.watchPosition的调用也应成功。

但是,此解决方案不适用于 iOS,因此您应该插入平台检测。

有意义吗?

最新更新