#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];
}