iOS中城市定位功能的实现

引入框架:CoreLocation


.h文件

引入CoreLocation/CoreLocation.h

@interface WeatherViewController :UIViewController<</span>CLLocationManagerDelegate>{

    CLLocationManager* locationManager;

}

@property (strong, nonatomic) CLLocationManager* locationManager;

@end

 
 
.m文件

//开始定位

-(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 纬度:%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"]);

        }

    }];

}

原文地址:https://www.cnblogs.com/fuunnyy/p/4959696.html