我正在开发一个使用 gps 的应用程序。我需要高精度,所以我使用 kCLLocationAccuracyBestForNavigation 来获得所需的精度。当我运行该应用程序时,会按预期调用以下方法。
(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
在这种方法中,我正在检查以下代码段的准确性是否足够好:
if (newLocation.horizontalAccuracy <= locationManager.desiredAccuracy) {
...
}
但是这个 if 块永远不会激活,因为 newLocation.horizontalAccuracy 不会低于 17.00 米。当我在 iPhone 3GS OS 3.1.2 上运行此代码时,一切运行正常。但是自从我升级到 4.0.1 后,似乎准确性存在问题。它甚至不适用于在 iOs 3.1.2 上运行平稳且稳定的 kCLLocationAccuracyNearestTenMeters。
你对我有什么提示吗?我该如何解决我的问题?