我正在開發一個像Runtastic,Nike +等健身追蹤應用程序。我將從頭到尾映射整個活動。我不開始在應用程序啓動時更新位置更改,而是在用戶開始鍛鍊時開始。但是,當locationManager開始更新時,前3到5個CLLocations非常不正確。長達一公里的錯誤。我使用下面的代碼初始化位置經理:如何處理不正確的CLLocation數據
self.locationManager = [(PFAppDelegate *)[[UIApplication sharedApplication] delegate] locationManager];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
self.locationManager.distanceFilter = 5.0;
[self.locationManager startUpdatingLocation];
而在locationManagerDidUpdateToLocation方法:
if(didFindGPS == NO)
{
if([[lastLocation timestamp] timeIntervalSinceNow] < 10.0)
{
if([lastLocation horizontalAccuracy] < 20)
{
didFindGPS = YES;
}
}
}
else
{
//process data here
}
這不會過濾掉那些不正確的第一位置。我也嘗試忽略horizontalAccury值小於20的位置,但應用程序不處理任何位置。
可以做些什麼來改善第一個地點或處理第一個不正確的地點?
請增加distanceFilter值。 – Developer