4

プロパティは正確に何をlocationmanager.distancefilterしますか?didUpdateTolocationメソッドが呼び出される頻度を決定しますか?

4

1 に答える 1

9

それは短い動きを除外します。したがって、CLがデバイスが20メートル移動したことを検出したが、距離フィルターが30メートルに設定されている場合、通知は行われません。位置が距離フィルター設定を超えるのに十分に移動すると、didUpdateToLocationコールバックを取得します。

デバイスが動いていないときでも、GPS位置の結果がさまよっていることは非常に一般的です。静止していても構いませんが、位置精度が+/- 10メートルの場合、デバイスが動かなくても、報告された位置は最大20メートル変化する可能性があります。distanceFilterを使用すると、そのような無関係な動きを除外できます。

詳細については、 CLLocationManager-simulatorのコメント「ApplydistanceFilter」のすぐ下にあるdistanceFilterの実装をご覧ください。

于 2010-07-27T14:36:25.280 に答える