0

iOSアプリケーションでn分ごとにバックグラウンドロケーションの更新を取得する方法を探しています..今は毎秒更新を取得しています..1秒から3または4秒または毎分に変更できますか...

これが私のコードです:

 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
        if([self.delegate conformsToProtocol:@protocol(GPSLocationDelegate)]) { 
            // Check if the class assigning itself as the delegate conforms to our protocol.  If not, the message will go nowhere.  Not good.

            [self.delegate locationUpdate:newLocation];

             NSLog(@"location manager");
            /// alert for check msg ////


            ////////////////////////////
        }
    }
4

3 に答える 3

2

あなたはそれをすることはできません。または、以下の方法でそれを達成することができます。位置情報の更新を取得すると、タイムスタンプが関連付けられます。

最初の場所の更新時にタイムスタンプをキャッシュします。2番目の場所の更新を受け取ったら、違いを比較して確認します。しきい値の制限を超えている場合は、代理人に電話して、キャッシュされたタイムスタンプを更新された場所のタイムスタンプで更新します。

于 2012-07-27T13:44:51.900 に答える
1

新しい場所を受け取ったときに場所マネージャーを停止し、60秒後に再び開始するようにタイマーをスケジュールすることができます。唯一の問題は、60秒ごとにイベントがトリガーされないことですが、問題はない可能性があります。

また、ロケーションマネージャを停止するときは注意が必要です。最初のイベントは無効になる可能性があるため(最後のロケーションのコピーのみを提供する)、停止する前に5〜10秒間実行し続ける必要がある場合があります。それと次のトリガーをスケジュールします。

それで頑張ってください!

于 2012-07-27T15:24:44.190 に答える
0

場所の更新は非同期であり、表示される頻度を制御することはできません。

于 2012-07-27T13:48:39.833 に答える