提高iOS编程中位置管理器的准确性

时间:2012-11-21 21:28:02

标签: iphone ios xcode ipad map

我正在制作一个跟踪用户的应用程序。我注意到当应用程序进入后台时,然后当你打开应用程序时,它会向用户显示错误的当前位置,直到大约5秒钟。有没有解决这个问题,因为5秒的延迟会破坏跟踪结果(它会毫无理由地增加三英里)。

编辑:问题实际上不是“错误”。我必须在我的Info.plist中设置我想要后台处理和繁荣的应用程序跟踪是超级准确的。一个小教程:

  1. 转到Info.plist
  2. 添加名为“所需背景模式”的新行
  3. 然后再添加一个名为“App registers for location updates”的新行
  4. 我们完成了:)

1 个答案:

答案 0 :(得分:5)

您可以做的一件事是检查horizontalAccuracy上您要返回的CLLocation属性。如果这超过某个阈值,那么您可以丢弃结果并等待更准确的结果。如果它是数英里外,那么我预计准确度数字会非常大。最有可能使用一个小区站点来确定位置而不是GPS,误差幅度会大得多。

CLLocationManagerDelegate的{​​{1}}方法中,您可以执行以下操作:

locationManager:didUpdateLocations: