{
[_locationManager requestAlwaysAuthorization];
[_locationManager requestWhenInUseAuthorization];
}
//开始实时定位
[_locationManager startUpdatingLocation];
}
}
实现代理方法:
复制代码
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
NSLog(@"Longitude = %f", manager.location.coordinate.longitude);
NSLog(@"Latitude = %f", manager.location.coordinate.latitude);
[_locationManager stopUpdatingLocation];
}
获取当前位置信息
在上面的代理方法中
复制代码-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
NSLog(@"Longitude = %f", manager.location.coordinate.longitude);
NSLog(@"Latitude = %f", manager.location.coordinate.latitude);
[_locationManager stopUpdatingLocation];
CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
[geoCoder reverseGeocodeLocation:manager.location completionHandler:^(NSArray *placemarks, NSError *error) {
for (CLPlacemark * placemark in placemarks) {
NSDictionary *test = [placemark addressDictionary];
// Country(国家) State(城市) SubLocality(区)
NSLog(@"%@", [test objectForKey:@"Country"]);
NSLog(@"%@", [test objectForKey:@"State"]);
NSLog(@"%@", [test objectForKey:@"SubLocality"]);
NSLog(@"%@", [test objectForKey:@"Street"]);
}
}];
}
这样就很简单获取了当前位置的详细信息。










