我在Cordova应用程序(在Android上;在iOS上工作得很好)上有这个东西,这意味着一些位置问题。让我解释一下:
由于该应用程序需要在启动时进行位置检查,因此我会显示一条带有重试按钮的警告消息。
所以我有这个非常简单的场景:
- 在位置关闭的情况下启动应用。显示警告
- 打开该位置信息,然后重试以定位
- 仍未检测到该位置
我有一个非常简单的测试用例:
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,因此您应该插入平台检测。
有意义吗?