应用程序启动后打开 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 地理定位插件无法从 Android 的 GPS 获取位置