0

ロケーションマネージャーで最高の水平精度を得る方法について何か提案はありますか? 目的の精度を NearestTenMeters に設定しましたが、カバレッジ エリアに応じて精度が常に変化する可能性があることを考えると、最高の水平精度が得られた後にのみ更新を停止するコードを locationManager に記述するにはどうすればよいでしょうか?

4

2 に答える 2

1

一定の精度にしたい場合は、デリゲートメソッドを設定します

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

持つため

if(newLocation.horizontalAccuracy <= (some number) )
    [locationManager stopUpdatingLocation];

そんな感じ。

于 2010-10-29T21:13:12.613 に答える
0

通常、ハードウェアの電源が入っている時間が長いほど、より多くの場所を取得するほど、精度が向上します。マネージャーを早期にオンにして、正確になるようにしてから場所を取得できます。また、ターゲットが動いているときにも役立ちます。チップは、GPS が動いているときに、より正確な読み取り値を取得できます。また、デバイスの位置によって違いが生じます。掩蔽壕にいる場合よりもフィールドの外にいる場合の方がはるかに優れた読み取りが得られるため、得られる読み取りが利用可能な最高のものである場合があります。あなたのコードは、ロケーション マネージャーからの更新をしばらく受け取らなくなるまで待つことができます。その後、おそらく最高の精度になります。

于 2009-08-14T16:16:47.277 に答える