1

CLLoctionマネージャーを使用して場所を取得しましたが、場所を開始すると、以前にデバイスに保存されていたoldlocationが表示されます.この場所をリセットしたいアプリケーションの最初の起動時にフラグを使用しましたnewlocationを使用してstopupdateinglocationを呼び出し、 startupdatinglocation メソッド。ただし、oldlocation は変更されず、古い場所が表示されます。

4

2 に答える 2

6

すべてCLLocationに、timestamp使用するには古すぎるすべての場所の更新をフィルタリングするために使用できるプロパティがあります。

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSTimeInterval age = [newLocation.timestamp timeIntervalSinceNow];
    if(age < SOME_CONSTANT_IN_SECONDS)
    {
        //Use location
    }
}
于 2009-12-14T08:19:01.003 に答える
0

古い場所をクリアすることはできませんが、horizo​​ntalAccuracyをチェックして、これが適切な場所(現在)であるか、古くて無関係な場所であるかを確認できます。

于 2009-12-14T08:13:53.060 に答える