如果我将 CLLocationManager 的所需精度设置为 kCLLocationAccuracyKilometer(精确到一公里以内),iPhone 最终会提供更好的位置吗?还是会以我想要的精度停止。我在文档中找不到这个。
我的想法是我需要快速修复位置,但我想更准确。我必须自己编写代码,还是自动为我完成?
最佳答案
我不知道以下内容是否 100% 正确,但我很确定它是这样工作的:精度过滤器主要是为了节省能源而设计的。因此,如果您指定 kCLLocationAccuracyKilometer
对您来说足够了,并且操作系统非常确定它可以仅使用三角测量在 1 公里内准确定位您,它甚至不会为耗电的 GPS 单元供电。因此,关于您的第一个问题,位置管理器会在达到您想要的准确度后立即停止。
关于第二个问题:我认为精度过滤器对您收到第一次位置更新的时间没有任何影响。操作系统通常会缓存您最后已知的位置,并且几乎会立即提供该位置,即使您指定了非常高的准确度。后续的位置更新会越来越精确。
如果这确实是真实行为,您应该能够轻松地自行测试。
关于iphone - iPhone 的定位精度会超出职责范围吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497007/