即根据一个NSString的文字描述对象获取相关的地理坐标。

采用CLGeocoder类操作,具体方法:

1>geocodeAddressDictionary:completionHandler: 通过指定一个地址信息字典对象参数进行查询

2>geocodeAddressString:completionHandler:通过指定一个地址信息字符串参数进行查询

3>geocodeAddressString:inRegion:completionHandler:通过制定地址信息字符串和查询范围进行查询

- (IBAction)geocodeQuery:(id)sender
{NSString *queryStr = nil;// 从界面文本框输入地址字符串if (_textField.text == nil || [_textField.text length] == 0) {return ;}CLGeocoder *geocoder = [[CLGeocoder alloc] init];[geocoder geocodeAddressString:queryStr completionHandler:^(NSArray *placemarks, NSError *error) {NSLog(@"查询记录数:%i",[placemarks count]);if ([placemarks count] > 0) {CLPlacemark *placemark = [placemarks objectAtIndex:0];CLLocationCoordinate2D coordinate = placemark.location.coordinate;// 生成经纬度字符串NSString *strCoordinate = [NSString stringWithFormat:@"经度:%3.5f,纬度:%3.5f",coordinate.latitude,coordinate.longitude];NSDictionary *addressDict = placemark.addressDictionary;NSString *address = [addressDict objectForKey:(NSString *)kABPersonAddressStreetKey];address = address == nil ? @"" : address;NSString *state = [addressDict objectForKey:(NSString *)kABPersonAddressStateKey];state = state == nil ? @"" : state;NSString *city = [addressDict objectForKey:(NSString *)kABPersonAddressCityKey];city = city == nil ? @"" : city;//  获取地标对应的可读的文字信息,一般返回到UI显示NSString *streetInfo = [NSString stringWithFormat:@"%@\n%@\n%@\n%@\n",strCoordinate,state,address,city];}}];
}

使用geocodeAddressString:inRegion:completionHandler:指定查询区域:

 CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:_currLocation.coordinate radius:1000.0f identifier:@"GeocodeRegion"];CLGeocoder *geocoder = [[CLGeocoder alloc] init];[geocoder geocodeAddressString:queryStr inRegion:region completionHandler:^(NSArray *placemarks, NSError *error) {.......}];

CLRegion对象封装了一个地理区域类。

构造方法参数:

center:指定区域中心点

radius:指定区域半径,单位为米

identifier:为区域指定一个标识

转载于:https://www.cnblogs.com/yaoxc/p/3721799.html

iOS定位服务与地图开发(3)---地理信息编码查询相关推荐

  1. iOS定位服务与地图开发(6)---使用程序外地图之调用谷歌Web地图

    也可以借助于谷歌的web地图API进行开发地图应用程序,但这里所涉及的技术都是Web技术了,而非本地技术. 谷歌提供的地图查询URL形式如下:http://maps.google.com/maps?q ...

  2. iOS定位服务与地图应用开发:高德地图开发

    2019独角兽企业重金招聘Python工程师标准>>> 由于博客迁移至www.coderyi.com,文章请看http://www.coderyi.com/archives/419 ...

  3. iOS 定位服务与地图

    CoreLocation(定位与地理编码等) 使用步骤: 导入CoreLocation库 创建CLLocationManager对象 请求用户授权 - 需要在Info.plist中加入 NSLocat ...

  4. Android studio 百度地图开发(5)查询周边服务(加油站)

    Android studio 百度地图开发(5)查询周边服务(加油站) email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是An ...

  5. iOS定位服务系列之一:获取当前位置信息

     最近的一个业务涉及地图相关的服务,由于时间比较紧,所以借鉴了网上一些大神的代码,总算是交了差.现在回想起来,当初的自己是多么的窘迫,上网查看,铺天盖地的博文,每篇都是华丽丽的几大页,功能也都能满 ...

  6. IOS定位核心与地图

    本文转载至:http://www.cnblogs.com/xinye/archive/2013/06/13/3134746.html IOS定位核心与地图                 Core L ...

  7. vue使用高德地图画电子围栏_地理围栏-辅助功能-开发指南-iOS 定位SDK | 高德地图API...

    以下内容自 iOS 定位SDK V2.3.0 后支持. 第 1 步,引入头文件 在调用地理围栏功能的类中引入AMapFoundationKit.h和AMapLocationKit.h这两个头文件,注意 ...

  8. 设置电子围栏 高德地图_地理围栏-辅助功能-开发指南-iOS 定位SDK | 高德地图API...

    以下内容自 iOS 定位SDK V2.3.0 后支持. 第 1 步,引入头文件 在调用地理围栏功能的类中引入AMapFoundationKit.h和AMapLocationKit.h这两个头文件,注意 ...

  9. 高德sdk定位当前位置_单次定位-获取位置-开发指南-iOS 定位SDK | 高德地图API

    iOS定位SDK提供的单次定位方法基于苹果定位核心,苹果定位核心会在设备移动时连续返回定位结果,高德在此基础上封装了单次定位.当设备可以正常联网时,还可以返回该定位点的对应的中国境内位置信息(包括:省 ...

最新文章

  1. 【怎样写代码】对象克隆 -- 原型模式(一):问题案例
  2. python字典怎么排序_如何对python的字典进行排序
  3. C++标准库:使用std_list作为链表
  4. tp5中mysql使用REGEXP 正则匹配
  5. Qt实践录:非窗体代码片段
  6. 4.1下午英语阅读视频
  7. 实现链表的增删改查java代码_用Java语言实现链表的增删改查
  8. LVM基础详细说明及动态扩容lvm逻辑卷的操作记录
  9. Netruon 理解(12):使用 Linux bridge 将 Linux network namespace 连接外网
  10. easyUI_rowdata
  11. 24Ghz毫米波雷达,人体存在检测轨迹检测雷达传感模块,应用智能家居
  12. 3.4 51单片机-矩阵键盘
  13. Win7网络和共享中心 依赖服务或组无法启动 解决办法
  14. (3)资源管理-- Effective C++改善程序与设计的55个具体做法(Effective C++: 55 Specific Ways to Improve Your Programs)
  15. 网易微专业Android实战教程
  16. 从坚果3的发布来看,锤子未来的发展将依然艰难
  17. 名片制作:25款现代名片设计实例及模板
  18. 机器人摘果子看图写话_二年级摘苹果看图写话范例
  19. Distiller tutorial: Pruning Filters Channels
  20. 美加州将遭太平洋风暴侵袭 警方要求部分民众撤离

热门文章

  1. c语言中O空字符,OC语言中字符串的使用
  2. 蓝桥杯基础练习1-15(python)
  3. c++primer 3.2,3.3练习题
  4. sqlplus怎样将名次显示在表的后面_数据透视表-01 3种分析方法比拼,助你步入透视表的知识宝殿...
  5. java里面如何加入高级的东西_如何成为一名Java高级架构师
  6. Web前端期末大作业--绿色自适应医疗健康医院网页设计(HTML+CSS+JavaScript+)实现
  7. HTML+CSS+JS实现 ❤️ 粒子倒计时特效❤️
  8. oracle模糊查询很慢,采用全文索引解决模糊查询速度慢的问题
  9. 一行python代码值多少钱_一行python代码
  10. 错误Read timed out.