ロケーションマネージャのアップデート間隔を制御する方法はありますか?私は精度のために最も近い10メートルの設定を使用しましたが、私のアプリケーションは毎秒1つのアップデートを取得するように見えますが、それはあまりにも頻繁に起こると思います。私は良い精度が欲しいが、周波数は望んでいない。コントロールロケーションマネージャの更新間隔
ありがとうございました。
ロケーションマネージャのアップデート間隔を制御する方法はありますか?私は精度のために最も近い10メートルの設定を使用しましたが、私のアプリケーションは毎秒1つのアップデートを取得するように見えますが、それはあまりにも頻繁に起こると思います。私は良い精度が欲しいが、周波数は望んでいない。コントロールロケーションマネージャの更新間隔
ありがとうございました。
私はタイマーでそれをやった:
- (void)viewDidLoad
{
...
[frequentLocationUpdateTimer invalidate];
frequentLocationUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:
@selector(reEnableLocationTick:) userInfo:nil repeats:YES];
...
}
- (void)reEnableLocationTick:(NSTimer *)theTimer
{
[locationGetter startUpdates]; //Maybe you have to change this line according to your code
}
とあなたのlocationmanager中...:
の.mファイルにServerInterface *serverInterface;
:ヘッダー内の
追加
- (void)locationManager:(CLLocationManager *)manage didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
...
if (newLocation.horizontalAccuracy < 100)
{
[locationManager stopUpdatingLocation];
}
...
// let our delegate know we're done
[delegate newPhysicalLocation:newLocation];
}
コードは単に更新を停止します。 100mの最小精度に達した後の位置。その後、30秒ごとにタイマーがlocationManagerを再度有効にします。
こんにちは、私の質問にお返事ありがとうございます。あなたはアップデートを止めるのが正しい解決策ですか?最初に更新を開始したときに、正確な場所を取得するために5〜10回の更新が必要であることがわかりました。更新が停止した場合は、較正時間が必要になることがあります。これはアプリケーションにとって受け入れられないかもしれません。誰でもコメントがありますか?ありがとう... – user675823
こんにちは、sry私はあなたに何かを忘れてしまった。私の場合、-stopUpdatingLocationはデリゲートの呼び出しを抑制するだけです。 – Thomas
もう一度ありがとうございます。なぜあなたは「あなたのケースで」それが代議員の呼び出しを抑止していると言いますか? [locationManager stopUpdatingLocation]呼び出しによって位置の更新が抑制されるのは本当ですか?今、最も重要なのは、[locationManager startUpdatingLocation]が再度呼び出されたときに、更新された位置がすぐに呼び出され、較正時間が必要でないことがわかりますか? – user675823
[Location Managerの更新頻度、iphone]の複製が可能です(http://stackoverflow.com/questions/7385102/location-manager-update-frequency-iphone) –