iOS.定位服务与地图应用.03.地理信息编码查询

#import <UIKit/UIKit.h>

#import <CoreLocation/CoreLocation.h>

#import <AddressBook/AddressBook.h>

#import <AddressBookUI/AddressBookUI.h>



@interface T20140621221104ViewController : UIViewController



@property (weak, nonatomic) IBOutlet UITextField *txtQueryKey;



@property (weak, nonatomic) IBOutlet UITextView *txtView;



- (IBAction)geocodeQuery:(id)sender;



@end
#import "T20140621221104ViewController.h"



@interface T20140621221104ViewController ()



@end



@implementation T20140621221104ViewController



- (void)viewDidLoad

{

    [super viewDidLoad];

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

}



- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}- (IBAction)geocodeQuery:(id)sender {

    

    if (_txtQueryKey.text == nil || [_txtQueryKey.text length] == 0) {

        return;

    }

    

    CLGeocoder *geocoder = [[CLGeocoder alloc] init];

    [geocoder geocodeAddressString:_txtQueryKey.text completionHandler:^(NSArray *placemarks, NSError *error) {

        NSLog(@"查询记录数:%i",[placemarks count]);

        if ([placemarks count] > 0) {

            CLPlacemark* placemark = placemarks[0];

            

            CLLocationCoordinate2D coordinate = placemark.location.coordinate;

            NSString* strCoordinate  = [NSString stringWithFormat:@"经度:%3.5f \n纬度:%3.5f",coordinate.latitude, coordinate.longitude];

            

            NSDictionary *addressDictionary =  placemark.addressDictionary;

            

            NSString *address = [addressDictionary

                                 objectForKey:(NSString *)kABPersonAddressStreetKey];

            address = address == nil ? @"": address;

            

            NSString *state = [addressDictionary

                               objectForKey:(NSString *)kABPersonAddressStateKey];

            state = state == nil ? @"": state;

            

            NSString *city = [addressDictionary

                              objectForKey:(NSString *)kABPersonAddressCityKey];

            city = city == nil ? @"": city;

            

            _txtView.text = [NSString stringWithFormat:@"%@ \n %@ \n%@ \n%@",strCoordinate,state, address,city];

            

            //关闭键盘

            [_txtQueryKey resignFirstResponder];

        }

    }];

    

}



@end

 

你可能感兴趣的:(ios)