<转>iOS开发拓展篇—CoreLocation地…
来源:互联网 发布:手机提速软件 编辑:程序博客网 时间:2024/05/17 05:01
一、简单说明
CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写。
1.使用CLGeocoder可以完成“地理编码”和“反地理编码”
地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)
反地理编码:根据给定的经纬度,获得具体的位置信息
(1)地理编码方法
- (void)geocodeAddressString:(NSString *)addressStringcompletionHandler:(CLGeocodeCompletionHandl
(2)反地理编码方法
- (void)reverseGeocodeLocation:(CLLocation *)locationcompletionHandler:(CLGeocodeCompletionHandl
2.CLGeocodeCompletionHandl
当地理\反地理编码完成时,就会调用CLGeocodeCompletionHandl
这个block传递2个参数
error :当编码出错时(比如编码不出具体的信息)有值
placemarks :里面装着CLPlacemark对象
3.CLPlacemark
说明:CLPlacemark的字面意思是地标,封装详细的地址位置信息
地理位置
区域
详细的地址信息
地址名称 @property (nonatomic,readonly) NSString *name;
城市 @property (nonatomic,readonly) NSString *locality;
二、代码示例:
在storyboard中搭建界面如下:
实现代码:
YYViewController.m文件
//
//
//
//
//
//
//
#import "YYViewController.h"
#import
@interface YYViewController ()
@property(nonatomic,strong)CLGeocoder *geocoder;
#pragma mark-地理编码
- (IBAction)geocode;
@property (weak, nonatomic) IBOutlet UITextField*addressField;
@property (weak, nonatomic) IBOutlet UILabel *longitudeLabel;
@property (weak, nonatomic) IBOutlet UILabel *latitudeLabel;
@property (weak, nonatomic) IBOutlet UILabel*detailAddressLabel;
#pragma mark-反地理编码
- (IBAction)reverseGeocode;
@property (weak, nonatomic) IBOutlet UITextField*longitudeField;
@property (weak, nonatomic) IBOutlet UITextField*latitudeField;
@property (weak, nonatomic) IBOutlet UILabel*reverdeDetailAddressLabe
@end
@implementation YYViewController
#pragma mark-懒加载
-(CLGeocoder *)geocoder
{
}
- (void)viewDidLoad
{
}
- (IBAction)geocode {