文档章节

iOS苹果自带框架定位的封装block

不孤独的美食家
 不孤独的美食家
发布于 2016/08/02 14:43
字数 501
阅读 22
收藏 0
点赞 0
评论 0

##LH_CLLocationManager.h的封装 -1 具体功能

/**
*  定位管理者对象
*
*  @return 创建好的定位管理者对象
*/
+ (LH_CLLocationManager *)shareLocation;
/**
*  用于获取用户当前位置的block
*
*  @param locaiontBlock 返回的用户当前位置的Corrrdinate
*/
- (void) lh_getCurrentLocationCoordinate:(LocationCorrrdinateBlock) locationtBlock;
/**
*  获取定位到的城市的经纬度和详细地址
*
*  @param locaiontBlock 返回定位代码块
*  @param addressBlock  返回详细地址代码块
*/
- (void) lh_getCurrentLocationCoordinate:(LocationCorrrdinateBlock) locationtBlock  withAddress:(NSStringDetailAddressBlock) addressBlock;
/**
*  获取详细地址
*
*  @param addressBlock addressBlock description
*/
- (void)lh_getCurrentDetailAddress:(NSStringDetailAddressBlock)addressBlock;
/**
*  获取当前定位到所在国家
*
*  @param countryBlock 返回定位到所在国家代码块
*/
- (void)lh_getCurrentCountry:(NSStringCountryBlock)countryBlock;
/**
*  获取城市的省份
*
*  @param cityBlock 返回所在省份的block
*/
- (void)lh_getCurrentProvince:(NSStringProvinceBlock)provinceBlock;
/**
*  获取所在城市
*
*  @param cityBlock 返回所在城市的block
*/
-(void)lh_getCurrentCity:(NSStringCityBlock)cityBlock;
/**
*  获取所在城市的街道名
*
*  @param thoroughfareBlock 返回所在街道的block
*/
-(void)lh_getCurrentThoroughfare:(NSStringThoroughfareBlock)thoroughfareBlock;
/**
*  获取邮编
*
*  @param postalCode 邮编block
*/
-(void)lh_getCurrentPostalCode:(NSStringPostalCodeBlock)postalCode;

/**
*  定位失败回调的block
*
*  @param errorBlock errorBlock 错误代码块
*/
- (void)lh_getLocationError:(LocationErrorBlock) errorBlock;

-2 使用方法

1 -导入头文件“LH_CLLocationManager.h”

2 -实例化定位管理者的对象
   LH_CLLocationManager* manger=[LH_CLLocationManager shareLocation];

3 -如果定位成功后,调用block

-3 具体示例

[manger lh_getCurrentCity:^(NSString *cityString) {
NSLog(@"当前城市:%@",cityString);
}];

[manger lh_getCurrentCountry:^(NSString *countryString) {
NSLog(@"当前国家:%@",countryString);
}];

[manger lh_getCurrentProvince:^(NSString *provinceString) {
NSLog(@"当前省份:%@",provinceString);
}];

[manger lh_getCurrentThoroughfare:^(NSString *thoroughfareString) {
NSLog(@"当前街道:%@",thoroughfareString);
}];

[manger lh_getCurrentDetailAddress:^(NSString *detailAddressString) {
NSLog(@"当前详细地址:%@",detailAddressString);
}];

[manger lh_getCurrentPostalCode:^(NSString *postalCodeString) {
NSLog(@"当前邮政编码:%@",postalCodeString);
}];

[manger lh_getCurrentLocationCoordinate:^(CLLocationCoordinate2D locationCorrrdinate) {
NSLog(@"当前位置经纬度(%lf,%lf)",locationCorrrdinate.latitude,locationCorrrdinate.longitude);
}];

[manger lh_getCurrentLocationCoordinate:^(CLLocationCoordinate2D locationCorrrdinate) {
NSLog(@"======当前位置经纬度(%lf,%lf)",locationCorrrdinate.latitude,locationCorrrdinate.longitude);
} withAddress:^(NSString *detailAddressString) {
NSLog(@"------当前详细地址:%@",detailAddressString);

-4 注意点 注意点

-5 具体使用请参看代码(如有疑问,欢迎进群479192251讨论,或者博客留言看到会及时回复的)

© 著作权归作者所有

共有 人打赏支持
不孤独的美食家
粉丝 90
博文 159
码字总数 48705
作品 1
长沙
高级程序员
常见的移动端H5页面开发遇到的坑和解决办法

手机共通问题 问题一:用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经研究发现是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页字会非常小,所以苹果...

webmirror ⋅ 05/02 ⋅ 0

说说 NSTimer 的新 API

本文是我首发在iOS知识小集团队的,欢迎关注微博话题#ios知识小集#。 在以往的 iOS 版本中,我们为了避免 NSTimer 的循环引用问题,一个比较常用的解决办法是为 NSTimer 添加一个 category,...

halohily ⋅ 05/03 ⋅ 0

苹果宣布将在 2019 年推出 iOS 和 macOS 跨平台功能

苹果 macOS 和 iOS 设备在功能方面越来越接近,现在苹果正在缩小这一差距。在昨天的 WWDC 开发者大会上,苹果表示不会将 iOS 和 macOS 进行合并,而是让 iOS 应用移植到 macOS 上变得更加简单...

王练 ⋅ 06/05 ⋅ 1

iOS三维菜单、调试工具、封装通讯录、网络框架、多种控件和动画等源码

iOS精选源码 一个调用系统通讯录和获取通讯录所有联系人的封装(http://www.code4app.com/thread-29726-1-1.html) ios scrollview嵌套tableview同向滑动(初级、进阶), 支持OC / Swift(http...

sunnyaigd ⋅ 05/15 ⋅ 0

如何判断你是合格的高级iOS开发工程师?

前言 随着移动互联网的高速发展泄洪而来,有意学习移动开发的人越来越多了,竞争也是越来越大,需要学习的东西很多。如何才能在激烈的移动开发者竞争中一枝独秀,成为一名真正合格的高级iOS...

_小迷糊 ⋅ 05/26 ⋅ 0

工信部叫停苹果 Callkit,微信不能直接接听视频了

苹果有 ARkit、Classkit、Homekit 和 Sirikit 等开发工具,但 Callkit 却并不被人们所熟知。简单来说,这是一款能够将微信等网络电话整合到手机本身的通话功能中的工具,是不是听起来很方便?...

雨田桑 ⋅ 05/15 ⋅ 0

苹果 WWDC 2018 重点推出 iOS 12

苹果正式宣布第 29 届年度全球开发者大会(WWDC 2018)将于美国当地时间 6 月 4 日星期一(北京时间 6 月 5 日凌晨一点)拉开帷幕,大会将持续到 6 月 8 日星期五。和 2017 年一样,此次会议...

问题终结者 ⋅ 04/15 ⋅ 0

苹果对体无完肤的 iOS 11 最后的弥补

点击上方“CSDN”,选择“置顶公众号” 关键时刻,第一时间送达! 距离万众瞩目的苹果开发者大会(WWDC 2018)的召开还有不到一周时间,苹果公司于今天凌晨,正式发布了 iOS 11 的第十四次更...

csdnnews ⋅ 05/30 ⋅ 0

iOS 11.4 增加新功能,了解一下

Apple(苹果)iOS系统,一直都在不断更新。早前 Apple 就放出了 iOS 11.4 测试版。如今,最新消息显示,iOS 11.4 测试版又新增了一项功能。 据悉,在最新的iOS 11.4 测试版中,Apple(苹果)...

m7720eiosi6oa9 ⋅ 05/06 ⋅ 0

一样的iOS开发程序员为什么有人4k有人40k?

前言 移动开发真正火起来其实就是最近这几年,iOS 开发技术因为发展也就才这么几年,所以值得做的事情还有很多,这就造成了每年苹果的 WWDC 都会推出一堆新的特性和 API。整体上来说,这对业...

原来是泽镜啊 ⋅ 05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 40分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 59分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部