2009-08-14 15 views
0

ロケーションマネージャで最高の水平精度を得る方法に関する提案はありますか?私はNearestTenMetersに希望の精度を設定しましたが、カバレッジエリアによって精度が常に変わる可能性があるので、最高の水平精度を得た後でlocationManagerにコードを書き込んで更新を停止するにはどうすればよいですか?CLLocationManagerは、iphoneのために最高の精度を保証します

答えて

0

通常、ハードウェアの電源がオンになり、設置場所が増えるほど正確になります。マネージャーを早めにオンにして、正確になるようにしてから、場所をつかむことができます。ターゲットが動いているときにも役立ちます.GPSが動いているとき、チップはより正確な読み取り値を得ることができます。また、デバイスの場所が異なる場合は、バンカーにいる場合よりもフィールド上にいる場合には、はるかに優れた読み込みを得ることができます。あなたのコードは、しばらくの間、ロケーションマネージャからの更なる更新がなくなるまで待機することができます。

1

あなたはそれが特定の精度になりたい場合は、そのような

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

何かを持っているデリゲートメソッドに

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

を設定します。

関連する問題