【问题标题】:getCurrentPosition almost always failing in PhoneGap 1.3 on iOS 6getCurrentPosition 在 iOS 6 上的 PhoneGap 1.3 中几乎总是失败
【发布时间】: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


【解决方案1】:

答案:将PhoneGap.plist中的EnableLocation设置为NO。显然,将其设置为 YES 会导致在 iOS 6 中运行的 PhoneGap 应用程序出现内存问题。已实施修复,但截至目前,我认为它不在 PhoneGap 官方版本中。 FWIW,我找不到真正知道 EnableLocation 做什么的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2015-08-18
    相关资源
    最近更新 更多