【发布时间】:2012-04-12 14:07:42
【问题描述】:
基本上我想知道 iPhone 高精度指向的方向,我尝试了 CLLocationManager:问题是 CLHeading.magneticHeading 返回一个双精度值,例如 36.44323 但是当我开始转动设备时,CLLocationManager 只更新方向达到 1 度,因此数字如下所示:36.44323、37.44323、38.44323 等等。是否有可能获得更高的准确性?
【问题讨论】:
-
您是否将
CLLocationManager上的desiredAccuracy设置为kCLLocationAccuracyBestForNavigation?这将不仅仅利用磁力计(例如陀螺仪)。也许这会让您获得更高的准确性? -
是的,但结果是一样的,我也做了这些,但没有运气:1-将 headingFilter 设置为小于 1 并将其设置为 kCLHeadingFilterNone ,2-创建一个单独的线程在更新和 3- 之间手动读取 CLLocationManager 数据以在 didUpdateHeading 方法结束时调用 stopUpdatingHeading 并使用单独的线程再次打开它,但结果不可靠,因为结果需要一段时间才能稳定。
标签: ios compass-geolocation magnetometer heading