0

didUpdateToLocation、私の新しい場所 (CLLocation) は

newLocation = [37.785834 -122.406417]

次に、locationManager (CLLocationManager)horizontalAccuracyの newLocation を出力していますが、それらはdesiredAccuracy

horizo​​ntalAccuracy は 5.000000 です

desiredAccuracy は 10.000000 です

私の質問は、これらの数字がどこから来たのかということです....別の新しい場所に移動すると、数字は変わりますか.

さらに、CLLocationManager を作成して初期化した直後、その desiredAccuracy は -1 です。繰り返しますが、-1 は CLLocationManager のデフォルト値ですか?

これらの問題についてアドバイスをください。

ありがとう

4

2 に答える 2

4

これらは、CoreLocation プロパティの desiredAccuracy に依存し、これらにより、ロケーション メカニズムの機能が有効になります。無線、wifi、gps の 3 種類のメカニズムを使用できます。マネージャーで精度を要求すればするほど、(可能であれば) より小さな精度値が得られ、バッテリーを消費します。通常、ナビゲーションに精度を使用するように設定したとしても、GPS 信号は衛星をチェックする必要があり、時間がかかるため、取得する最初の場所の精度値は大きくなります。精度の値が小さいほど、現実の位置に近づきます。コア loc マネージャーで取得したログは、精度値の列挙値にすぎません。

[更新]
はい、これらの値は変更される可能性があります。たとえば、GPS を使用して位置を取得している場合、建物に入ります。GPS は建物内では機能しません。精度の値は、新しいロケーション メカニズムに応じて変化します。Wi-Fi に切り替えると、300m ~ 30m の距離が表示されるはずです。

于 2012-04-19T04:52:38.403 に答える
1

精度は多くの要因に基づいて変化します。基地局信号、GPS 衛星の可用性、Wi-Fi アクセス。負の数は値が不適切であることを示し、使用すべきではありません。コードで希望の精度を設定できますが、これは保証されていません...これがお役に立てば幸いです。

于 2012-04-19T04:48:59.663 に答える