4

アプリケーションで CLLocationManager を使用しています。CLLocationManger を初期化するために次のコードを使用しています。

self.locationManager = [[CLLocationManager alloc] init];
[self.locationManager setDelegate:self];

[self.locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[self.locationManager setDistanceFilter:10.0];
[self.locationManager startUpdatingLocation];

distanceFilter を 10.0 メートルに設定しました。現在、デバイスを移動していません (まだ 1 つの場所にあります)。ただし、CLLocationManger のデリゲートが自動的に呼び出されることがあります。

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
     NSLog(@"Locations : %@", locations);
  } 

デバイスが約 10 メートル移動している場合は新しい場所を取得したいのですが、そうでない場合はそうではありません。

ですから、この distanceFilter プロパティを使用して新しい場所を取得する方法を教えてください。

4

1 に答える 1

1

これが GPS の仕組みです。あなたはじっと立っていて、窓の近くの机に座っていて、通常は恐ろしい GPS 信号を受信して​​います。

GPS は、あなたが動いていないことを認識しません。特に信号が悪い場合、移動したように見えます。したがって、イベントが発生します。もっとうまくやりたい場合は、自分でフィルタリングする必要があり、りんごの距離フィルターに頼らないでください。

これは、特別なアプリケーションではうまくいくかもしれません。

于 2013-10-04T17:42:37.597 に答える