【问题标题】:core location constants meaning核心位置常数含义
【发布时间】:2012-10-01 05:51:19
【问题描述】:

我对核心位置常量的含义感到非常困惑。例如,对于我的应用程序,我希望获得 100 米内的准确读数,看起来kCLLocationAccuracyHundredMeters 将是合适的选择。但是,使用此设置时,当我禁用 wifi 时,我经常会得到精度低于 +- 一千 米的点。这些核心位置常量是否仅在启用 wifi 时才相关,或者听起来我做错了什么? Apple 希望开发人员不必担心底层硬件(即是否使用 gps、wifi 或手机信号塔)但其准确性完全取决于启用的 wifi,这似乎很奇怪。

感谢您的帮助。

【问题讨论】:

    标签: ios gps wifi core-location


    【解决方案1】:

    GPS 读数不仅仅取决于您的准确度设置。例如,如果您没有使用 wifi 并且您尝试从室内读取数据,我已经看到 GPS 在您外出之前一直保持数千米的距离。如果您打算使您的应用程序在室内准确,我不打算依赖典型的 GPS。如果您的主要用例在外部,则 GPS 非常准确。

    【讨论】:

    • 好吧,如果我在户外使用kCLLocationAccuracyHundredMeters 并且 GPS 可用,如果 wifi 被禁用,它会使用 GPS 吗?我在我的应用程序中看到的是它不使用 GPS,而是提供非常不准确的手机信号塔值。这似乎是我做错了什么还是意料之中?
    • 当我在百米设置下进行测试并且在户外时,我总是会得到非常好的读数。我假设您调用了 startUpdatingLocation 而不是 startMonitoringForSignificant 更改或其他。如果是这样,那么我不确定问题可能出在哪里,也许您使用的硬件与我在大多数测试上进行的 4s 不同
    • 我已经在 4,4s 和 5 上进行了测试。对于所有设备,似乎kCLLocationAccuracyHundredMeters 在设置中禁用 wifi 时,我得到的准确度真的很差(超过 +-1000 米) .当启用 wifi 并且接入点可用时,我会获得更好的精度(大约 +-65 米)。这似乎暗示kCLLocationAccuracyHundredMeters 不使用 GPS。这听起来不对,因为我认为设备应该使用任何硬件来达到 100 米的精度。
    • 哎呀。那时我可能弄错了。我想我可能已经评论了你关于距离过滤器和电池保护的其他帖子。我认为这里可能会采取类似的方法。我发现使用 GPS 将其置于最准确的设置是值得的,并且仅在您绝对需要时或每隔一段时间检查一次。如果您制作的应用程序必须在前台主动跟踪用户,那么最好将其设置为最佳设置。有点蹩脚,但是的
    【解决方案2】:

    精度常数是您“要求”特定精度的方式。你实际得到的取决于可用的。 CL 将尝试为您提供您要求的准确度(或更好),但它会为您提供它所拥有的,即使它在尝试获得更好的准确度位置时准确度更差。

    如果您等待的时间足够长(并忽略那些不够好的位置),那么您最终将获得更准确的位置,除非它无法完成(例如当 GPS 卫星不可见或没有 WiFi 时) , 等等)。

    【讨论】:

    • 您是否尝试过在禁用 wifi 的情况下使用 kCLLocationAccuracyHundredMeters?在我的应用程序中,它只返回大于 +-1000 米的值。这是在一个城市外面,我已经在步行和驾驶速度下进行了测试。感谢您的帮助
    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 2016-02-20
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    相关资源
    最近更新 更多