0

Runtastic、Nike+ などのフィットネス トラッキング アプリを開発しています。アクティビティ全体を最初から最後までマッピングします。アプリの起動時に場所の変更の更新を開始するのではなく、ユーザーがワークアウトを開始したときに開始します。しかし、locationManager が更新を開始すると、最初の 3 ~ 5 個の CLLocation が非常に正しくありません。最大 1 キロメートルのエラー。次のコードを使用して、ロケーション マネージャーを初期化しています。

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
 }

これは、最初の間違った場所を除外しません。また、horizo​​ntalAccury 値が 20 より小さい場所を無視しようとしましたが、アプリは場所を処理しません。

最初の場所を改善するため、または最初の間違った場所を処理するために何ができますか?

4

1 に答える 1