我有一個iOS應用程序女巫使用用戶的當前位置。我做這樣的:didUpdateToLocation調用多重
-(void)startGeoloc{
NSLog(@"start geoloc");
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy=kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
}
#pragma mark - CLLocationManagerDelegate methods
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
[locationManager stopUpdatingLocation];
AppDelegate *apDelegate =(AppDelegate *)[UIApplication sharedApplication].delegate;
apDelegate.modeGeoloc = YES;
[self callWebService:locationManager.location];
}
這樣做的問題是,我的方法callWebService:locationManager.location
被稱爲兩次,我想打電話給它只是一個時間。我該如何做到這一點?謝謝您的回答
這是一個這樣簡單的解決方案,不敢相信我沒有想到它。謝謝! – sridvijay 2013-07-13 20:26:05
...給BOOL手機! – 2013-07-21 09:24:16
這是一個很好的答案,但請注意,第一次通過didUpdateLocations可能會返回舊的存儲位置數據。在接受位置爲有效且當前之前,在didUpdateLocations中執行一些檢查,然後設置didFindLocation布爾值。 http://troybrant.net/blog/2010/02/detecting-bad-corelocation-data/ – mikemike396 2016-03-01 18:00:10