首页 > 代码库 > CLGeocoder 地理编码和反地理编码

CLGeocoder 地理编码和反地理编码

 

使用CLGeocoder可以完成“地理编码”和“反地理编码”
地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)
反地理编码:根据给定的经纬度,获得具体的位置信息
 
地理编码方法
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
 
反地理编码方法
- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;
 
当地理\反地理编码完成时,就会调用CLGeocodeCompletionHandler
typedef void (^CLGeocodeCompletionHandler)(NSArray *placemarks, NSError *error);
这个block传递2个参数
error :当编码出错时(比如编码不出具体的信息)有值
placemarks :里面装着CLPlacemark对象
 
CLPlacemark:
CLPlacemark的字面意思是地标,封装详细的地址位置信息
@property (nonatomic, readonly) CLLocation *location;
地理位置
 
@property (nonatomic, readonly) CLRegion *region;
区域
 
@property (nonatomic, readonly) NSDictionary *addressDictionary;
详细的地址信息
 
@property (nonatomic, readonly) NSString *name;
地址名称
 
@property (nonatomic, readonly) NSString *locality;
城市

CLGeocoder 地理编码和反地理编码