【发布时间】:2011-05-23 23:19:53
【问题描述】:
对于从 GPS 进行大量计算的应用,我需要每 0.5 秒获取一次纬度/经度和速度,以非常准确并避免延迟。
我正在使用:
[locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];-
- locationManager:didUpdateToLocation:fromLocation:函数将值存储在 3 个变量中:newLatitude、newLongitude和newSpeed - 每 0.5 秒调用一次函数的
NSTimer对象。
请参见下面由 Excel 生成的表示 18 秒内纬度值的图表:
我们可以清楚地看到,我们每秒钟都会更新一次位置,而不是像希望的那样每 0.5 秒更新一次。我在办公室周围开车做样品,所以我的速度在 0 到 65 英里/小时之间变化。因此,当我以 50 英里/小时的速度行驶时,我应该每 0.5 秒从 iPhone 获得不同的纬度/经度/速度值,对吗?
如果您知道 CLLocationManager 对象的准确性,请告诉我如何每 0.5 秒获取一次这些位置更新。
谢谢!
【问题讨论】:
-
CoreLocation 服务决定何时向您发送位置更新,您不能只是调用它并立即获得价值。 GPS 三角测量非常昂贵且速度慢,该设备使用许多技巧来节省电池并提高准确性。