ios地理信息反编码

通过定位我们可以获得经度和纬度,通过地理信息反编码可以通过地理坐标返回某个地点的相关文字描述。
这些描述封装在CLPlacemark类中,它的属性为:
1)addressDictionary,地理信息字典
2)ISOcountryCode,ISO国家代号
3)Country,国家信息
4)postalCode,邮政编码
5)adminisrativeArea,行政区域信息
6)locality,指定城市信息
个人认为,字典中存储的值 跟 CLPlacemark中其它的属性的值是相同的。

地理信息反编码使用CLGeocoder类实现,这个类能够实现地理坐标与地理文字描述信息之间的转换
代码如下:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLGeocoder * geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:[locations lastObject] completionHandler:^(NSArray *placemarks, NSError *error) {
       
        if([placemarks count] > 0){
            CLPlacemark * placemark = placemarks[0];
            //可以用字典类型获取地理文字信息,可以用Address Book framework中对应的键值来获取对应的信息
            NSDictionary * dict = placemark.addressDictionary;
            NSString * str = [dict objectForKey:(NSString *)kABPersonAddressCityKey];//获取城市信息
           
            //还可以通过属性值来获取信息
            NSLog(@"%@", placemark.country);//输出国家信息
            NSLog(@"%@", placemark.locality);//指定城市信息
            NSLog(@"%@", placemark.thoroughfare);//指定街道级别的信息
        }
    }];
}

时间: 2024-12-23 06:54:29

ios地理信息反编码的相关文章

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

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

iOS 地理位置反编码

获取城市的名字,具体还可以获得街道信息,不多说直接上代码: CLLocation *currentLocation = [locations lastObject]; MJLog(@"currentLocation == %@",currentLocation); // 创建位置 CLGeocoder *revGeo = [[CLGeocoder alloc] init]; [revGeo reverseGeocodeLocation:currentLocation completio

iOS学习_地图_定位和编码与反编码

定位: 引入头文件  #import <CoreLocation/CoreLocation.h>声明管理器属性:@property(nonatomic,strong)CLLocationManager *manager;第一步:初始化管理器self.manager = [[CLLocationManager alloc] init];第二步:进行隐私的判断并授权 //进行隐私的判断 if (![CLLocationManager locationServicesEnabled]) { NSLo

地图定位CoreLocation框架,地理位置编码与反编码

在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 这里我们简单了解一下CoreLocation,用于显示地理位置,坐标信息. 一.相关类介绍 CLLocationManager.用于定位服务管理类,它能够给我们提供位置信息和高度信息,也可以监控设备进入或离开某个区域,还可以获得设备的运行方向. CLLocation.封装了位置和高度信息. CLL

IOS地理信息使用

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

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

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

定位- CLGeoencoder - 反编码

#import "ViewController.h" #import "MBProgressHUD+MJ.h" #import <CoreLocation/CoreLocation.h> @interface ViewController () @property (nonatomic, strong) CLGeocoder *geocoder; // 编码对象 @property (weak, nonatomic) IBOutlet UILabel *

位置与地图(一)定位获取位置及位置反编码

*我们的应用程序,可以通过添加Core Location框架所包含的类,获取设备的地图位置. *添加CoreLocation.framework框架,导入#import<CoreLocation/CoreLocation.h> *使用地图服务时,会消耗更多地设备电量.因此,在获取到设备的位置后,应该停止定位来节省电量 @跟往常一样,我们通过一个demo来展示内容与效果 // // HMTRootViewController.h // My-GPS-Map // // Created by la

Google 地理信息反解析

Android 为地址反解析提供了标准的api 方案,但该方案并不是android sdk的一部分.手机用户要想 正常使用该功能,手机上必须安装 google map.但国内没有厂家默认内置google map, 手机用户也不可能 自动安装.反解析的方案国内应该可以通过baidu地图api接口,国外的话,还是的通过google. 主要研究下国外地理信息反解方式 1.获取经纬度provider 方式 gps 方式: LocationManager.GPS_PROVIDER net 方式: Loca