我開始混淆CLLocationManager,並試圖使用下面的回調方法。我去了外面在我的iPhone上測試它,並且在前幾次更新時,我似乎正在得到一些亂碼值,就像突然間我的距離是39米,即使我沒有移動到任何地方。或者有時它會從5開始,然後跳到20米,再次沒有我移動到任何地方。我走出去走了,從最初的起點看起來更新似乎是'好',然後當我回到原點時,我回到了原來的39米的起點。我想知道我在下面做的是否正確。我還包含了我的viewDidLoad方法,用於初始化我的CLLocationManager對象。使用CLLocationManager獲取精確的位置
有沒有辦法確保我的第一個值是準確的?提前致謝。
- (void)viewDidLoad
{
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
if (startingPoint == nil) {
NSLog(@"NIL starting point");
self.startingPoint = newLocation;
}
CLLocationDistance distance = [newLocation distanceFromLocation:startingPoint];
NSString *distanceString = [[NSString alloc] initWithFormat:@"%g m", distance];
distanceLabel.text = distanceString;
[distanceString release];
numberOfUpdates++;
NSString *countString = [[NSString alloc] initWithFormat:@"%d", numberOfUpdates];
countLabel.text = countString;
[countString release];
}