【发布时间】:2012-09-24 23:55:39
【问题描述】:
我有一个现有的 PhoneGap 1.3 应用程序,它可以执行一些在 iOS 4 和 5 中运行良好的地理定位。在 iOS 6 中,getCurrentPosition 几乎总是会触发失败回调。失败后,额外的 getCurrentPosition 调用不会触发成功或失败回调。我已将应用程序简化为以下代码,它的行为与我的完整应用程序相同。
document.addEventListener("deviceready", function() {
console.log('deviceready!!!');
successCallback = function() {
console.log('success!!!');
};
failureCallback = function() {
console.log('failure!!!');
navigator.geolocation.getCurrentPosition(function() { console.log('success 2'); }, function() { console.log('failure 2'); });
};
navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
}, false);
当它失败时,这是我在日志中得到的:
2012-09-24 16:26:46.576 MyAppName[7250:16703] [INFO] deviceready!!!
2012-09-24 16:26:56.582 MyAppName[7250:16703] [INFO] failure!!!
仅此而已。
有什么想法可以去哪里吗?
【问题讨论】:
-
iOS6 的地理定位 getCurrentPosition 可能存在问题。你试过 Apache Cordova 吗?它可以帮助你让它工作。 (参见类似主题:stackoverflow.com/questions/10412239/…)
-
有很多已知的错误。你绝对应该更新到cordova 2.1
标签: javascript html cordova geolocation