【发布时间】:2019-03-15 04:57:52
【问题描述】:
CLLocationManagerDelegate 方法locationManager:didUpdateLocations: 是否有可能在使用过程中返回缓存值?
或者是否存在 CoreLocation 无法在高速或高海拔地区正常工作的已知错误?
我有飞机跟踪应用程序,一些使用旧 iPad 设备的用户通知我,应用程序显示其位置不正确(大约延迟 3-4 分钟)。我还实现了文本日志,它会立即显示正确的时间戳。
应用程序在获得新位置后立即呈现视图并记录数据,并且不可能排队,所以这应该不是问题。
CoreLocations 可以如此糟糕(CPU 问题?)以如此巨大的延迟启动委托吗?速度可以成为它的原因吗?正如我所说的它用于小型飞机,因此速度比汽车大得多。
编辑:明确地说,我正在检查实际时间戳,并且总是从 didUpdateLocations 获取数组的最后一个元素
【问题讨论】:
-
下面可能会帮到你。顺便说一句,我不确定stackoverflow.com/questions/34111459/…
-
您还可以检查 locationManager 实例中的 verticalAccuracy 属性。
-
@AbuUlHassan 谢谢你的链接!问题是:我收到的数据是正确的,并且具有很好的准确性。所以这个决议不会做任何事情。唯一的问题是延迟:我会延迟 3-4 分钟。对于verticalAccuracy:我同时检查vertical Accuracy 和horizontalAccuracy,如果它们不正确则关闭位置。
-
那么这可能是由于遵循类似的场景flightradar24.com/how-it-works它首先去卫星......反之亦然。
-
这与我的问题无关。恐怕我描述得不好。这个问题可以理解吗?
标签: ios ipad core-location cllocationmanager