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

即根据一个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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html中列表、表格、合并单元格

列表&#xff1a; 分为无序列表、有序列表、自定义列表 无序列表&#xff1a; <ul> <!-- ul标签中只能容纳li标签&#xff0c;li标签里面可以容纳其他标签 --><li>列表项1</li><li>列表项2</li><li>列表项3</li>...</ul&…

Linux 重启和关闭系统命令---详解

Linux 重启和关闭系统命令&#xff0c;整理了常见的&#xff0c;试验了后做此说明。 1、重启的命令&#xff08;常用&#xff09;&#xff1a; 1、reboot 2、shutdown -r now 立刻重启(root用户使用) 2-1 shutdown -r 10 过10分钟自动重启(root用户使用)2-2 shutdown -r 20…

结婚虽易,终老不易:EntityFramework和AutoMapper的婚后生活

写在前面 我到底是什么&#xff1f;越界的可怕做好自己后记上一篇《恋爱虽易&#xff0c;相处不易&#xff1a;当EntityFramework爱上AutoMapper》文章的最后提到&#xff0c;虽然AutoMapper为了EntityFramework做了一些改变&#xff0c;然后就看似幸福的在一起了&#xff0c;但…

Linux 学会看日志文件处理问题

rsyslog是一个进程&#xff0c;是一个命令。管理日志的。–》系统日志记录器 它有一个配置文件&#xff1a;/etc/rsyslog.conf 自己创建日志时&#xff0c;要修改该配置文件。 日志的作用&#xff1a; 用于记录系统、程序运行中发生的各种事件&#xff1b; 通过阅读日志&…

html中input、label、form、textarea、select

表单input&#xff1a; 表单是用来收集信息的&#xff0c;由表单控件(表单元素)、提示信息、表单域构成。 input控件的属性及值&#xff1a; 除以上属性外&#xff0c;input元素type属性还有一个number属性值&#xff0c;此为仅可以填数字&#xff0c;默认是可以选择或者填写…

mac os 显示文件列表命令 ls -a

显示正常文件列表用ls就行了&#xff0c;但是要是想显示隐藏的文件&#xff0c;需要加-a转载于:https://www.cnblogs.com/coolbear/p/3723088.html

html中文本格式化、预格式化、计算机输出标签、address、title、文字方向、著作

文本格式化标签&#xff1a; 预格式化标签pre&#xff1a; 网页中文本默认是显示一行&#xff0c;没有格式&#xff0c;通过<pre></pre>标签包裹会显示默认的格式。 <pre> <!-- 通过pre标签包裹后&#xff0c;会有默认的格式 -->云想衣裳花想容&…

Outlook 与 Outlook Express 的区别

Outlook 与 Outlook Express 的区别是什么? 这两个是两种软件&#xff0c;不要因为同样都有“Outlook”的字样、都可以收发Email&#xff0c;就觉得他们差不多。Outlook Express是一个新闻、邮件软件&#xff0c;属于操作系统自带的组件&#xff0c;附属于操作系统。而Outlook…

配置札记

Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件.转载于:https://www.cnblogs.com/angelshelter/p/3725862.html

html5简介、选项输入框、表单元素分组、input新增属性及属性值

HTML5简介: 定义&#xff1a;HTML5号称下一代HTML&#xff0c;html的最新版本&#xff0c;定义了新的标签、css、JavaScript&#xff0c;html5新标签IE9以上版本浏览器才兼容&#xff0c;因此在实际开发中要问老板是否兼容低版本浏览器。 扩展内容&#xff1a;语义化标签、本…

SP2010开发和VS2010专家食谱--第六章节--Web Services和REST(5)--Inserting new contacts through REST...

我们现在知道了我们可以使用REST请求从SharePoint列表获得数据&#xff0c;如何从客户端应用程序添加数据到列表呢&#xff1f;本文中&#xff0c;我们将探讨如何做到。 转载于:https://www.cnblogs.com/crazygolf/p/3856779.html

Linux crontab 定时任务没执行,没收到错误信息邮件

crond 定时任务 没执行&#xff0c;简单的打印日期&#xff0c;reboot 命令 等也没执行成功&#xff08;语法确保没错&#xff09;。捣鼓一整算是有些进展。 centos7 不过这个好像没啥问题吧。。 分割线------------------------------------------------------- 01 最开始就…

Chapter 12 外观模式

外观模式&#xff1a;为子系统中的一组接口提供一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个模式使得这一子系统更加容易使用。 外观模式三个阶段&#xff1a; 首先&#xff0c;在设计初期阶段&#xff0c;应该要有意识的将不同的两个层分离。 其次&am…

$@ $# $2 $0 $* Linux 参数使用

命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示&#xff0c;例如&#xff0c;$1 表示第一个参数&#xff0c;$2 表示第二个参数&#xff0c;依次类推。 1 $ 表示所有参数&#xff1b;并且所有参数都是独立的&#xff1b;可以用来做 for e…

html5中音频、视频标签、自定义播放器常用属性及方法、全屏操作、新增属性兼容问题

多媒体标签: 音频标签audio: <audio src"音频文件的URL"></audio><!-- audio标签需要controls控件才可以播放音频&#xff0c;controls的属性值可以省略&#xff0c;如果URL为视频格式文件&#xff0c;则只会播放音频 -->html5中通过audio标签实现…

设计模式(17) 访问者模式(VISITOR) C++实现

意图&#xff1a; 表示一个作用于某对象结构的各元素的操作。它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作。 动机&#xff1a; 之前在学校的最后一个小项目就是做一个编译器&#xff0c;当时使用的就是访问者模式。 在静态分析阶段&#xff0c;将源程序表…

云服务器的主机名是否可以修改??

云服务器的主机名是否可以修改&#xff1f; 1 要是自己建的虚拟机等&#xff0c;这可以随便改&#xff0c;不影响。 2 要是云服务器&#xff0c;阿里云 华为云等&#xff0c;因为是项目上服务器厂商给提供的服务器信息&#xff0c;所以遇到问题需要改主机名时&#xff0c;为了…

CSS简介、行内样式、内部样式、外部样式、注释、引入其他CSS文件

CSS的发展历程&#xff1a; 起初是没有css的&#xff0c;只有少量样式是可以写在html标签中&#xff0c;这样代码格外显得臃肿&#xff0c;此时CSS就出现了。 初识CSS&#xff1a; CSS(Cascading Style Sheets),被称为CSS样式表或者层叠样式表&#xff0c;主要用于设置HTML页…

CISCO PVST+配置和结果验证 per vlan spanning tree(51cto 实验10)

1. 实验线路连接图使用Cisco Packet Tracer6.0 构建拓扑结构图 2. 实验内容(1) 参阅教材中内容&#xff0c;完成PVST的配置内容。(2) 在各台交换机上使用show spanning-tree vlan 10 和show spanning-tree vlan 20 命令&#xff0c;查看根桥信息、各端口角色和各端口状态。(3) …

Linux crond 每分钟,每小时,每天,每周,每月,每年 的表达式写法

每分钟执行 * * * * * 每五分钟执行 */5 * * * * 每小时执行(让分钟取0) 0 * * * * 每2小时执行 0 */2 * * * 每天执行 0 0 * * * 每周执行 0 0 * * 0 每月执行 0 0 1 * * 每年执行 0 0 1 1 *