应用程序启动后打开 Cordova 地理定位失败

Posted

技术标签:

【中文标题】应用程序启动后打开 Cordova 地理定位失败【英文标题】:Cordova geolocation fails when turned on after the app was started 【发布时间】:2015-01-29 11:49:12 【问题描述】:

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

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

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

    在关闭位置的情况下启动应用程序。显示警告 开启定位,然后重试定位 仍未检测到该位置

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

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

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

【问题讨论】:

【参考方案1】:

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

使用navigator.geolocation.watchPosition 而不是navigator.geolocation.getCurrentPosition ; 无论成功或错误,请致电clearWatch

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

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

有意义吗?

【讨论】:

以上是关于应用程序启动后打开 Cordova 地理定位失败的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 地理定位插件问题

我的应用程序第二次没有初始化/地理定位插件

Cordova 地理定位插件无法从 Android 的 GPS 获取位置

Phonegap/Cordova 地理定位提醒特定位置附近有啥

Cordova 地理定位无法在 Android 上运行

cordova-ionic 应用程序在后台进行地理定位 - android 和 ios