1

在第一对之后,watchposition回调没有在IOS6中触发。开始时它会触发一次或两次,仅此而已。一旦失败,对watchpositionor的进一步调用getposition不会触发成功或失败回调。

我正在寻找的解决方法是打开 IOS 6 中引入的地图应用程序,然后点击位置箭头来找到自己。尝试此操作后,回调会按预期每隔一秒左右触发一次。

更新:如果您在导航中运行地图,效果很好

此外,只要您不在使用 GPS 接收器的地方,它似乎就可以保持良好运行。

我作为错误提交给苹果;其他人也请这样做!

有人知道编写解决方法的方法吗?

我所能收集到的只是地图正在执行一个初始化例程以打开 API ......

我试图监视手表回调并手动触发,getpostion希望它会重新启动但watchpostion没有成功......

2012 年 10 月 16 日更新:ipad 锁定/睡眠后手表位置出现故障。唤醒时 watchposition() 不会触发。注意到如果 safari 被最小化并召回它开始射击。

2012 年 11 月 17 日更新:错误视频和解决方法http://youtu.be/ygprgHh6LxA - 运行 IOS6.1 Beta2

2012 年 12 月 20 日更新:IOS6.1 Beta 4 测试 - 仍未解决。


更新3/11/13:复制示例

好的,只需几秒钟即可复制一个简单的问题。我觉得这不是野生动物园,而是IOS问题。这几乎就像 Google 为 IOS 编写了 bios 以满足 WC3 html 地理位置规范,并在 IOS6 将它们踢下巴士时随身携带。使用 IOS 设备去这里:

http://uc.myaesc.com/geoloctestorig.htm

点击开始,手表几乎每秒都会返回结果。然后单击 Google 链接离开此页面。然后用户浏览器返回按钮返回点击开始。Watch 将返回 1 到 3 条记录并挂起。最小化 safari(主页按钮)然后恢复(safari 图标);停止悬挂

而已。直到它没有挂起,问题仍然存在。

标记

4

3 回答 3

0

我的想法:只要位置发生变化,就会调用回调,所以如果没有,你就不会得到回调。在外部,GPS 提供更准确的位置,并且它会针对较小的移动而改变,否则其他定位方法不会注意到这些移动。

于 2012-09-24T10:21:26.740 回答
0

对于任何编写基于 Web 的地理定位应用程序的人来说,这个问题似乎是一场真正的灾难,因为 iOS 设备拥有如此高的市场份额。请大家确保您已在 bugreport.apple.com 上向苹果提交错误报告!

很可能与(我没有足够的声誉在那里发布)相同的问题:iOS 6 在 webapps 中破坏 GeoLocation (apple-mobile-web-app-capable)

如果你想调查这个问题,我已经整理了一个测试页,你可以使用它:

  1. 在您的 iPhone 或 iPad 中打开http://jsbin.com/esasix/16/ 。
  2. 在外面走走,刷新页面并尝试其他测试场景。
  3. 观察你的职位是如何被报道的。

我自己做了很多测试,结果如下:

执行
的测试: 使用这个简单的测试页面进行自己的测试:jsbin.com/esasix/16/
使用 maps.google.com mobileweb map
进行自己的测试 使用我的应用程序进行自己的测试来自我的应用程序
的外部用户的许多日志
使用不同的设备进行测试

我的发现:

在相同的测试情况下,我经常以 5m 的精度定期获得完美的定位,以及由于 bug 导致的接收不佳。这意味着设备、位置、天气、一天中的时间等在两种情况下都是相同的。

有时加载页面后只返回一个位置。
有时加载页面后会返回几个位置。
有时会返回一些好的位置然后突然停止返回位置(有时会在静止一段时间后发生)并进入不良状态,可能会再次返回位置但通常是坏的位置。
有时会以 65m 的精度返回许多位置。
有时返回的许多位置精度不一(通常为 50-300m)。
这些精度差的位置序列有时接近5m精度的完美位置序列(在它进入不良状态之后?)。
有时,连续多次测试一切正常:-)

这些行为似乎以各种组合出现。

在某些情况下,重新打开 Safari 似乎会重新设置某些内容并重新开始工作。但是,在其中一些情况下,它只工作了一段时间,而在其他情况下,它根本没有效果,因此它可以用作可靠的解决方法(?)。打开内置地图应用程序时显示相同的行为,有时它有帮助,有时它没有......

已经测试了使用 navigator.geolocation.watchPosition 的代码以及定期在循环中调用 navigator.geolocation.getCurrentPosition 的代码,并且没有任何区别,在这两种情况下都可以看到相同类型的问题。

iOS 版本 6.0 到 6.1.2 似乎发生了我没有使用 apple-mobile-web-app-capable 元标记。

我发现有时特定的测试情况似乎显示出导致得出结论的特定行为,但随后另一个测试证明该结论是错误的。我还没有找到任何可以可靠重现的行为(也没有解决方案)。

于 2013-03-08T11:59:49.720 回答
0

同样的问题。我添加了额外的可选参数但无济于事......尝试了一些事情(更新了隐私设置,尝试了 getPosition 与 watchPosition,在后台运行地图。是的,就在 3 天前,我的代码是完美的,现在,它是垃圾。 .. :-( 苹果的悲伤日子?

于 2012-09-28T15:12:03.030 回答