【问题标题】:Location manager, not accurate even after setting kCLLocationAccuracyBest位置管理器,即使设置了 kCLLocationAccuracyBest 也不准确
【发布时间】:2010-12-20 05:10:34
【问题描述】:

你好 我正在使用位置管理器和 mapkit,我能够获得当前位置,但它不够准确 - 这是我的问题

  1. 我在地图上的当前位置例如3.0856333888778926、101.67204022407532,但是位置管理器的位置只返回+3.08370327、+101.67506444;缺少几个十进制数
  2. 当我尝试显示方向时,这会导致位置错误(大约 1 公里外)

我已经将位置设置为 kCLLocationAccuracyBest -

有什么建议吗?

【问题讨论】:

    标签: mapkit cllocationmanager


    【解决方案1】:

    你在哪里尝试?在内部,GPS 的精度本质上是有限的(不过通常不会到 1 公里。但在大城市中,建筑物的反射是可能的)。啊,还有一件事:测量是在模拟器内完成的吗?我不确定它的位置是如何确定的。但在我的测试中,我通常也偏离了我的实际位置。

    【讨论】:

    • 我在实际设备上尝试过,我知道它在模拟器上不起作用。位置总是偏离 800 米到 1KM,我在某处读过,我需要让 gps 至少对位置进行三角测量,尝试一下
    • 报告的准确度是多少(newLocation.horizo​​ntalAccuracy)?你的位置在里面吗?还是您使用从 mapview 报告的位置?
    • 我第一次了解到该位置不准确,并在获得实际/接近实际位置之前尝试了几次 - 所以我不得不让位置经理找到位置次
    • 这里有类似的讨论:stackoverflow.com/questions/4540095/…
    【解决方案2】:

    这可能与您如何设置您的位置管理器有关。

    你能把它贴在这里让我们检查吗?也许这会有所帮助。

    【讨论】:

      【解决方案3】:

      你有wifi吗?如果我在wifi上,这会发生在我身上。当我切换到 edge/3g 时,一切都恢复正常。如果它也显示错误,请尝试使用标准地图应用程序。

      【讨论】:

      • 嗨 Koray,感谢您的关注,但我是这样做的:获取位置更改时的时间戳,比较它们并获取最新的。这似乎奏效了,我的应用程序并不需要完全准确的位置;粗略的估计就足够了,所以它对我有用
      【解决方案4】:

      尽可能高的准确度并将其与其他传感器数据相结合。

      kCLLocationAccuracyBestForNavigation
      

      这种精度水平旨在用于需要始终提供精确位置信息的导航应用程序,并且仅在设备插入时使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 2019-09-18
        • 2011-12-06
        • 1970-01-01
        • 2020-01-28
        相关资源
        最近更新 更多