iOS中城市定位功能的实现
引入框架:CoreLocation
引入CoreLocation/CoreLocation.h
@interface WeatherViewController :UIViewController<</span>CLLocationManagerDelegate>{
CLLocationManager* locationManager;
}
@property (strong, nonatomic) CLLocationManager* locationManager;
@end
//开始定位
-(void)startLocation{
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy =kCLLocationAccuracyBest;
self.locationManager.distanceFilter = 10.0f;
[self.locationManager startUpdatingLocation];
}
//定位代理经纬度回调
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
[locationManager stopUpdatingLocation];
NSLog(@"location ok");
NSLog(@"%@",[NSString stringWithFormat:@"经度:%3.5f\n纬度:%3.5f",newLocation.coordinate.latitude,newLocation.coordinate.longitude]);
CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
[geoCoder reverseGeocodeLocation:newLocationcompletionHandler:^(NSArray *placemarks, NSError *error) {
for (CLPlacemark * placemark in placemarks) {
NSDictionary *test = [placemark addressDictionary];
// Country(国家) State(城市) SubLocality(区)
NSLog(@"%@", [test objectForKey:@"State"]);
}
}];
}