如何使用核心位置检测准确度误差范围

Posted

技术标签:

【中文标题】如何使用核心位置检测准确度误差范围【英文标题】:How to detect the accuracy margin of error using Core Location 【发布时间】:2013-08-21 16:08:57 【问题描述】:

我有一个使用以下内容跟踪用户位置的应用:

locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;

根据 Apple 的文档,Core Location 将尝试获得最佳读数,直到我告诉它停止。但是,我意识到阅读可能会受到许多无法控制的因素的影响,例如天气、建筑物中的设备等。

就我的应用而言,我想存储实际读数的准确度。例如,如果我在一个田野中,我可能会得到精确到 10 米的读数,但如果我在雷雨期间在同一场地,我可能会得到精确到 100 米的读数。

有没有办法检测我的阅读实际上有多准确?

【问题讨论】:

【参考方案1】:

CLLocation(从CLLocationManager 返回的对象)包含两个属性,horizontalAccuracyverticalAccuracy

这是一个以米为单位的值,它告诉您在给定位置周围的半径可能是多少米。

您可以在此处阅读有关CLLocation 的更多信息...CLLocation Class Reference

我相信这就是 Apple 在其地图应用程序中用来在位置周围放置圆圈以表示您可能所在的区域的方法。

【讨论】:

以上是关于如何使用核心位置检测准确度误差范围的主要内容,如果未能解决你的问题,请参考以下文章

如何计算交叉跟踪误差(GPS/核心位置)

js 如何让滚动条自动定位到页面一半的位置,不要误差

准确的地理位置范围变量

核心定位精度室内

如何像谷歌地图一样准确地确定用户位置?

核心位置 - iphone sdk 中的准确性问题