我正在关注http://www.switchonthecode.com/tutorials/getting-your-location-in-an-iphone-application教程,但我无法在Xcode SDK中获得经度和纬度。
- (void)viewDidLoad {
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
int degrees = newLocation.coordinate.latitude;
double decimal = fabs(newLocation.coordinate.latitude - degrees);
int minutes = decimal * 60;
double seconds = decimal * 3600 - minutes * 60;
NSString *lat = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
//latLabel.text = lat;
degrees = newLocation.coordinate.longitude;
decimal = fabs(newLocation.coordinate.longitude - degrees);
minutes = decimal * 60;
seconds = decimal * 3600 - minutes * 60;
NSString *longt = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
NSLog(@"%@ %@",longt, lat);
}
它没有显示控制台中的纬度和经度。 请帮帮我。
答案 0 :(得分:0)
您的代码看起来很好。如果它不起作用 - 问题不在这里。
确保:
所有这些都将帮助GPS使用辅助GPS更快地固定位置。
另外,请考虑Core Location几乎立即返回上一个已知位置。这是陈旧的,可能是错的,但立即提供。如果没有得到任何东西 - 它看起来像你的设备上的核心位置问题,而不是应用程序。
此外,最好实现locationManager:didFailWithError:方法来捕获可能的错误。像禁用GPS一样。
以下是此方法的示例:
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"GPS Error: %@", [error localizedDescription]);
}
GPS定位可能需要几分钟才能完成3G和早期,大约需要10秒才能实现4和4S(假设两种情况下天空晴朗)