didUpdateLocations总是用不同的坐标多次调用

时间:2014-07-30 08:56:46

标签: ios swift core-location

所以,我的应用需要每15米捕捉一次位置。

在viewDidLoad

NSOperationQueue.mainQueue().addOperationWithBlock {
    self.manager = CLLocationManager()
    self.manager.delegate = self
    self.manager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
    self.manager.distanceFilter = 15.0
    self.manager.headingFilter = 10
    self.manager.startUpdatingLocation()
}

第一次(我不动),

func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject])

我得到(真实的例子): * 0.1488241293991 * 0.5997807433053

第二次: * 0.1489010891664 * 0.599624152471

我使用ios7和swift在真实设备上进行测试。

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

来自CLLocationManager类参考:

  

在请求高精度位置数据时,位置服务提供的初始事件可能没有您请求的准确性。定位服务尽快提供初始事件。然后,它会继续以您请求的准确度确定位置,并在数据可用时根据需要提供其他事件。

因此,您检索的第一个位置可能不准确。