简单说下地理编码是干啥的,地理编码就是把我们所说的地名转换为位置信息,这个位置信息包括很多,主要是里面的经纬度,通过它可以定位到自己的位置在哪。
反编码就是地理编码的反过程,是让我们点下地图就能知道这个地方的名字,和一些相关的信息
这些操作比较耗时所以用异步方式操作 编、解码
大家都应该知道我们用到地理或者地图,需要定位,就要导入#import <CoreLocation/CoreLocation.h>头文件先看地理编码:
利用郑州科技学院的字符串得到它的经纬度
dispatch_queue_t disone = dispatch_get_global_queue(0, 0);
dispatch_async(disone, ^{
[geocoder geocodeAddressString:@"郑州科技学院" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
CLPlacemark *placemark = placemarks[0];
CLLocation *loction = placemark.location;
NSLog(@"%f %f",loction.coordinate.longitude,loction.coordinate.latitude);
// CLRegion 方圆 范围的类
// CLCircularRegion 圆形的方圆 是CLRegion的子类
}];
dispatch_queue_t dddd = dispatch_get_main_queue();
dispatch_sync(dddd, ^{
});
});
反编码
CLGeocoder *geocoder = [CLGeocoder new];
CLLocation *location = [[CLLocation alloc]initWithLatitude:34 longitude:113];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
NSLog(@"%@",placemarks[0].addressDictionary);
}];