2012-11-13 35 views
0

我需要獲取位置和標題。一旦我運行我的代碼,我只會得到標題更新,位置不會更新,因爲它不會出現在日誌中。標題更新時CoreLocation位置不更新

如果我禁用標題更新,我得到我的位置座標。 如果標題更新已打開,我不會收到位置信息。 有沒有人有類似的問題?

這裏是我的一套例行程序,我的方法:

locationManager = [[CLLocationManager alloc]init]; 
locationManager.headingFilter = 1; 
locationManager.delegate = self; 

[locationManager startUpdatingLocation]; 
[locationManager startUpdatingHeading]; 

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation//   fromLocation:(CLLocation *)oldLocation 
{NSString *currentLatitude = [[NSString alloc] initWithFormat:@"%g", newLocation.coordinate.latitude]; 
NSLog(@"currentLatitude = %@", currentLatitude); 

NSString *currentLongitude = [[NSString alloc] initWithFormat:@"%g", newLocation.coordinate.longitude]; 
NSLog(@"currentLongitude = %@", currentLongitude); 

NSString *currentHorizontalAccuracy = [[NSString alloc] initWithFormat:@"%g", newLocation.horizontalAccuracy]; 
NSLog(@"currentHorizontalAccuracy = %@", currentHorizontalAccuracy); 

NSString *currentAltitude = [[NSString alloc] initWithFormat:@"%g", newLocation.altitude]; 
NSLog(@"currentAltitude = %@", currentAltitude); 

NSString *currentVerticalAccuracy = [[NSString alloc] initWithFormat:@"%g", newLocation.verticalAccuracy]; 
NSLog(@"currentVerticalAccuracy = %@", currentVerticalAccuracy); 
}- (BOOL)locationManagerShouldDisplayHeadingCalibration: (CLLocationManager *)manager { 
return NO;} 


    -(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading{ 
CLLocationDirection trueHeading = newHeading.trueHeading;} 

回答

0

地點尚未更新,因爲該方法已在IOS更新6.0

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 
{ 
CLLocation* location = [locations lastObject]; 

這是didUpdateLocations應該什麼樣子,現在它需要一個數組。 [locations lastObject]這是數組中的最後一個已知位置。從它你可以得到座標,否則。