您的位置:首页 > 其它

实用知识:CoreLocation的使用(地理编码)

2016-04-30 17:37 295 查看
#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>

@interface ViewController ()

// 专门用来负责地理编码/反地理编码,
@property (strong, nonatomic) CLGeocoder *coder;

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

// 向苹果请求数据, 需要联网

// 地理编码: 文字描述 -> 地理描述
[self.coder geocodeAddressString:@"云水瑶" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

// CLPlacemark 表示地标, 包含地理位置, 文字描述, 商业信息

// placemarks 数据包含了多个地标信息
CLPlacemark *mark = placemarks.lastObject;

NSLog(@"%@, %@, %@", mark.country, mark.subLocality, mark.name);
}];

CLLocation *location = [[CLLocation alloc] initWithLatitude:24.785834 longitude:102.406417];
[self.coder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

CLPlacemark *mark = placemarks.lastObject;
NSLog(@"反地理编码: %@, %@, %@", mark.country, mark.subLocality, mark.name);
}];
}

#pragma mark - Getter & Setter

- (CLGeocoder *)coder
{
if ( !_coder) {
_coder = [[CLGeocoder alloc] init];
}
return _coder;

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: