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

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);
    }];

}

时间: 2024-10-20 11:48:04

地图开发-地理编码&反地理编码的相关文章

iOS定位服务与地图开发(2)---地理信息反编码

上节我们通过定位获取了经度和纬度数值,但是一般人很难看懂这些数字. 地理信息反编码:就是根据这些经纬数字返回地点的相关文字描述信息,这些文字描述信息被封装在CLPlacemark类中,我们称这个类为"地标"类. 地理信息反编码使用CLGeocoder类实现,这个类能够实现在地理坐标与地理文字描述信息之间的转换. CLGeocoder类中进行地理信息反编码的方法是:reverseGeocodeLocation: completionHandler: location:是要定位的地理位置对

iOS 地理编码 / 反地理编码

一.CLGeocoder 地理编码 与 反地理编码 地理编码: 根据给定的地名,获得具体的位置信息(比如经纬度.地址的全称等) // 地理编码方法 -(void)geocodeAddressString:(NSString*)addressStringcompletionHandler:(CLGeocodeCompletionHandler)completionHandler; 反地理编码: 根据给定的经纬度,获得具体的位置信息 // 反地理编码方法 -(void)reverseGeocodeL

iOS地理反地理编码--CoreLocation

.sidebar{float:left;width:220px;} .container-fluid>.content{margin-left:240px;} a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;} .pull-right{float:right;} .pull-left{float

百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码

之前写过一篇关于百度地图开发的blog,主要介绍了百度地图的基本地图的显示. 详见:Android百度地图开发(一)之初体验 下面来看一下地图上覆盖物的添加,以及地理编码和反地理编码. 添加覆盖物 在地图上添加覆盖物,一般需要以下几个步骤: 1. 定义坐标点,有可能是一个,有可能是多个(比如:多边形覆盖物). 2. 构造OverlayOptions(地图覆盖物选型基类). 3. 在地图上添加覆盖物. 4. 添加相应的监听事件. 在API中可以看到,BaiDuMap类中有一个方法: 这个方法就是用

objective-c开发——地图定位之地理编码和地理反编码

我们平时做地图定位,主要是靠经纬度来准确定位某个位置. 但是,我们是人啊,我们不是卫星啊. 用户在地图上查一个地方,我们总不能告诉他,这个地方是东经多少度,北纬多少度吧. 咱们好歹得告诉人家个地名不是? 这就是我们今天说的地理编码和地理反编码. 地理编码:你说个地名,比如“西湖”,我们给你返回它的经纬度,然后你通过查出来的这个经纬度去定位 反地理编码:我告诉你一个经纬度,你通过经度纬度返回地名.最好在插个大头针在地图上就更好了,啥叫大头针,咱们以后再说. 首先,我的界面是这个样纸的,就是两个按钮

iOS 原生地图地理编码与反地理编码

当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 #import <CoreLocation/CoreLocation.h> 地理编码: /** 地理编码 */ - (void)geocoder { CLGeocoder *geocoder=[[CLGeocoder alloc]init]; NSString *addressStr = @&qu

iOS开发拓展篇—CoreLocation地理编码

iOS开发拓展篇—CoreLocation地理编码 一.简单说明 CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写. 1.使用CLGeocoder可以完成“地理编码”和“反地理编码” 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度.地址的全称等) 反地理编码:根据给定的经纬度,获得具体的位置信息 (1)地理编码方法 - (void)geocodeAddressString:(NSString *)addressString completionHan

(七十七)地理编码与反地理编码

所谓地理编码,指的是通过地名获取位置信息,例如经纬度.详细地址等. 所谓反地理编码,指的是通过经纬度.海拔等信息获取地理位置信息. 在iOS上使用地理编码和反地理编码,如果是手动输入经纬度,是不需要获取用户授权的,但是一般是获取用户的经纬度,然后再通过地理编码实现精确定位,因此需要授权,本文因为是单独讲解地理编码的相关知识,因此采用手动输人经纬度,不再赘述授权的代码. ①导入框架: #import <CoreLocation/CoreLocation.h> ②新建CLGeocoder对象: @

地理编码和反地理编码

一.基本概念 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度.地址的全称等) 反地理编码:根据给定的经纬度,获得具体的位置信息 编码器CLGeocoder的每个实例,同时只能处理一个任务,异步执行. 二.基本方法 1. 地理编码方法   - (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler; 2. 反地理