文档章节

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

不孤独的美食家
 不孤独的美食家
发布于 2016/08/02 14:43
字数 501
阅读 26
收藏 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讨论,或者博客留言看到会及时回复的)

© 著作权归作者所有

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

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

webmirror
05/02
0
0
swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程

swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3 注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在开发应用程序时会受到了很...

大学霸
2015/01/29
0
0
说说 NSTimer 的新 API

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

halohily
05/03
0
0
iOS应用未来可能会在macOS上运行

导读 今天在Apple全球开发者大会上,软件工程高级副总裁Craig Federighi宣布,苹果正努力将iPhone的生态带向Mac。 这不会在一夜之间完成,Federighi强调,这是一个多年的项目,第一批从iOS移...

问题终结者
06/30
0
0
苹果宣布将在 2019 年推出 iOS 和 macOS 跨平台功能

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

王练
06/05
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(三十九)

资源整理。 1 Coding: 1.Python库benchmark rio s3,用于在访问S3上的文件时对Rasterio / GDAL的多线程性能进行基准测试的工具。 benchmark rio s3 2.Pangeo-Binder Cookiecutter模板。 cook...

胖胖雕
27分钟前
0
0
Promise 对象

Promise(承诺) 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供...

简心
30分钟前
0
0
让UI设计师崩溃的瞬间,你经历过哪些?

隔行如隔山,这句话人人耳熟能详,但其实隔行并不可怕,大家各谋其事,各尽其职,倒也互不打扰,真正可怕的是,是内行还要受外行指点江山,而最难的部分,便是那沟通。流畅的沟通,和声细语,...

mo311
31分钟前
1
0
python进制转换

#进制转换print(bin(10)) #十进制转换成二进制print(oct(10)) #十进制转换成八进制print(hex(10)) #十进制转换成十六进制print(int('1010',2)) #二进制转十进制print(int(...

fadsaa
42分钟前
3
0
syntax error near unexpected token

最近不断重复在虚拟机CentOS测试安装gitlab,因为gitlab有一个脚本需要饭强才能下载,于是我先在windows下载好再上传到虚拟机,可是执行脚本的时候提示“syntax error near unexpected toke...

W_Lu
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部