码迷,mamicode.com
首页 > 其他好文 > 详细

地图开发-地理编码&反地理编码

时间:2015-06-28 21:36:28      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

1.地理编码: 就是把一个‘地名字符串‘转化成’经纬度‘
[geocoder geocodeAddressString:<#(NSString *)#> completionHandler:<#^(NSArray *placemarks, NSError *error)completionHandler#>]
 
2.反地理编码: 是把‘经纬度’转换成’地名字符串‘
[geocoder reverseGeocodeLocation:<#(CLLocation *)#> completionHandler:<#^(NSArray *placemarks, NSError *error)completionHandler#>]
 
3.具体方法调用:
如:
    
//(1).地理编码
-(void)geocoder{
    //1.创建编码/反编码管理器
    CLGeocoder *geocoder = [[CLGeocoder alloc]init];
   
    //2.地理编码 :就是将‘地名字符串‘转换成‘经纬度‘
    [geocoder geocodeAddressString:@"北京" completionHandler:^(NSArray *placemarks, NSError *error) {
       
       //placemarks 是‘地标‘数组  标记地理位置
        CLPlacemark *plmark = placemarks.firstObject;
       
        //获取用户位置信息
        CLLocation *loc = plmark.location;
       
        //获取用户经纬度
        NSLog( @"地名:%@  经度:%f  纬度:%f ",plmark.name,loc.coordinate.longitude,loc.coordinate.latitude);
        NSLog(@"error%@",error);
    }];
   
}

//2.反地理编码
-(void)reverseGeocoder{
    //1.创建编码/反编码管理器
    CLGeocoder *geocoder = [[CLGeocoder alloc]init];
   
    //2.反编码: 就是将有‘明确经纬度的位置信息‘转换成对应的‘地名字符串‘
    CLLocation *loc = [[CLLocation alloc]initWithLatitude:39 longitude:116];
    [geocoder reverseGeocodeLocation:loc completionHandler:^(NSArray *placemarks, NSError *error) {
       
        //用‘地标‘接收 返回的‘地标数组‘
        CLPlacemark *plmark = [placemarks firstObject];
       
        //获取返回的地名
        NSLog(@"地名:%@",plmark.name);
    }];
   
}
 

地图开发-地理编码&反地理编码

标签:

原文地址:http://www.cnblogs.com/guozhenhu/p/4606100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!