6

位置認識アプリであるiPhoneアプリを開発しています。現在、アプリは以前の場所のキャッシュを除いて正常に動作しています。アプリケーションの場所マネージャーを初めて起動すると、現在の場所が取得され、現在の場所に基づいて近くのものが表示されます。

しかし、次からは以前に取得した場所を使用し、電話を再起動するまで同じ場所を取得します。したがって、ここまでで、ロケーション マネージャーがロケーションをキャッシュしていることは明らかです。

だから私の質問は、このキャッシュを削除して、ロケーションマネージャーに新しいロケーションを取得させる方法です。

4

1 に答える 1

9

実際、私はあなたができるとは思わない:CLLocationManagerDelegateタイムスタンプに基づいて受け取った位置をフィルタリングするのは (あなたのインスタンスで) あなた次第です (あなたが取り組んでいる位置がキャッシュされたものではなく、最近のものであることを確認するため)。

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ NSDate *eventDate = newLocation.timestamp; NSTimeInterval howRecent = [eventDate timeIntervalSinceNow]; //Is the event recent and accurate enough ? if (abs(howRecent) < SECS_OLD_MAX) { //WORK WITH IT ! } .... ....

于 2010-02-01T11:02:57.970 に答える