无法找到我的iPhone的经纬度

时间:2013-01-24 06:35:09

标签: iphone ios objective-c xcode4

我想找出iphone的当前位置,为此我正在使用这种方法。并尝试保存它以进行进一步的操作。但是当我以纬度和经度的形式打印位置值时它总是给我0.00000和0.0000。我没有说明我错在哪里。这个方法保存在GetLocation类中。

-(void)updatelocation{

NSLog(@"coming in update location    in get location class");
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];

NSLog(@"location manager   %@", locationManager);
CLLocation *location = [locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];
NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude];
NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];

NSLog(@"Latitude is: %f\n\n\n and longitude is: %f\n\n\n", location.coordinate.latitude, location.coordinate.longitude);
NSLog(@"coordinate   %f",coordinate.latitude);
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
[defaults setObject:latitude forKey:@"latitude"];
[defaults setObject:longitude forKey:@"longitude"];

}

当我在另一个类中调用此方法时。

GetLocation *location = [GetLocation alloc] init ];
[location updatelocation];

但我总是得到0.0000和0.0000。任何人都可以告诉我,我错了。

2 个答案:

答案 0 :(得分:3)

你走得太快,CLLocationManager还没有确定你的位置。您应该实施CLLocationManagerDelegate的{​​{1}}方法。在该方法中,用户的位置 已知。

答案 1 :(得分:2)

首先查看-[CLLocation coordinate] documentation ......甚至this one ...