iOS下获取用户当前位置的信息

#import <MapKit/MKMapView.h>



@interface ViewController (){

    CLLocationManager *_currentLoaction;

    CLGeocoder *_geocoder;

    CLPlacemark *_placeMark;

}



- (void)viewDidLoad

{

    [super viewDidLoad];

	// Do any additional setup after loading the view, typically from a nib.

    _geocoder = [[CLGeocoder alloc] init];

    

    _currentLoaction = [[CLLocationManager alloc] init];

    _currentLoaction.delegate = self;

    [_currentLoaction startUpdatingLocation]; 

}



#pragma mark - Location

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {

    NSLog(@"locError:%@", error);

}



- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

    CLLocationCoordinate2D locat = [newLocation coordinate];

    double lattitude = locat.latitude;

    double longitude = locat.longitude;

    CLGeocodeCompletionHandler handler = ^(NSArray *placemark, NSError *error)

    {

        for (CLPlacemark *mark in placemark) {

            NSMutableDictionary *area_dic = [mark addressDictionary];

            [area_dic setValue:[NSString stringWithFormat:@"%f", lattitude] forKeyPath:@"lattitude"];

            [area_dic setValue:[NSString stringWithFormat:@"%f", longitude] forKeyPath:@"longitude"];

            NSLog(@"area_dic is %@", area_dic);

            

            NSArray *array = [area_dic objectForKey:@"FormattedAddressLines"];

            NSString *address = [area_dic objectForKey:@"FormattedAddressLines"];

            NSLog(@"array is %@", array);

            address = [array objectAtIndex:0];

            NSLog(@"address is %@", address);

            address = [area_dic objectForKey:@"City"];

            NSLog(@"City is %@", address);

        }

    };

    [_geocoder reverseGeocodeLocation:newLocation completionHandler:handler];

}

 

你可能感兴趣的:(ios)