基于CLGeocoder - 反地理编码
来源:互联网 发布:vb与vs的区别 编辑:程序博客网 时间:2024/04/30 08:38
iOS中CoreLocatio框架中的CLGeocoder 类不但为我们提供了地理编码方法,而且还提供了反地理编码:
同样需要导入框架:
#import <CoreLocation/CoreLocation.h>反地理编码方法:
- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;同样当反地理编码完成时,会调用 completionHandler 对象,该对象类型为 CLGeocodeCompletionHandler,实际上是一个 block 对象
这个对象中传递了2个参数,其中placemark:里面装了CLPlacemark对象
步骤:
1、创建地理编码对象
2、获取用户的地理坐标(经纬度)
3、根据地理坐标创建CLLocation对象
4、根据CLLocation对象获取对象坐标信息
@interface ViewController ()/** * 地理编码对象 */@property (nonatomic ,strong) CLGeocoder *geocoder;#pragma mark - 反地理编码- (IBAction)reverseGeocode;@property (weak, nonatomic) IBOutlet UITextField *longtitudeField;@property (weak, nonatomic) IBOutlet UITextField *latitudeField;@property (weak, nonatomic) IBOutlet UILabel *reverseDetailAddressLabel;@end@implementation ViewController#pragma mark - 反地理编码响应- (void)reverseGeocode{ // 1.获取用户输入的经纬度 NSString *longtitude = self.longtitudeField.text; NSString *latitude = self.latitudeField.text; if (longtitude.length == 0 || longtitude == nil || latitude.length == 0 || latitude == nil) { NSLog(@"请输入经纬度"); return; } // 2.根据用户输入的经纬度创建CLLocation对象 CLLocation *location = [[CLLocation alloc] initWithLatitude:[latitude doubleValue] longitude:[longtitude doubleValue]]; // 116.403857,39.915285 // 3.根据CLLocation对象获取对应的地标信息 [self.geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { for (CLPlacemark *placemark in placemarks) { NSLog(@"%@ %@ %f %f", placemark.name, placemark.addressDictionary, placemark.location.coordinate.latitude, placemark.location.coordinate.longitude); self.reverseDetailAddressLabel.text = placemark.locality; } }];}#pragma mark - 懒加载,创建地理编码对象- (CLGeocoder *)geocoder{ if (!_geocoder) { _geocoder = [[CLGeocoder alloc] init]; } return _geocoder;}效果图如下:
控制面板信息:
0 0
- 基于CLGeocoder - 反地理编码
- 基于CLGeocoder - 地理编码
- 地理编码、反编码CLGeocoder、CLLocationManager入门级应用
- CLGeocoder地理编码与逆地理编码
- iOS CLGeocoder 反向地理编码
- CLGeocoder地理编码器 正向编码 + 反向编码
- MapKit之地理编码和反向地理编码(CLGeocoder、CLPlacemark)
- 地理编码/反地理编码
- 反地理编码
- 反地理编码总结
- 地理编码与地理反编码
- iOS 地理编码和反地理编码
- 地理编码与反地理编码
- 地图,CoreLocation地理编码,反地理编码
- 地理编码和反地理编码
- ios地理编码 反地理编码
- 地理编码与反地理编码
- 关于地理编码与反地理编码
- Myeclipse下的hibernate配置
- Java多态的理解
- Code Forces 592 C. The Big Race(数论)
- Codevs_P2185 最长公共上升子序列(LCIS)
- 第25篇 jQuer快速学习(上)---选择器和DOM操作
- 基于CLGeocoder - 反地理编码
- 哔哩哔哩视频解析
- DevExpress.XtraTreeList.TreeList + Winform + Access2013 使用实例(一)
- 黑马程序员——Foundation框架——NSMutableArray常用方法
- Java程序员的现代RPC指南
- 客户端界面信息的提供方法、系统和客户端界面生成装置
- scrollView 嵌套listView不破坏listView的view循环
- Unity3D研究院之Android NDK编译C/C++结合Unity实现本地数据共享(二十八)
- Linux Is Not Matrix——repo浅解