定位功能---封装的一个获取当前位置的经纬度信息的类
来源:互联网 发布:img base64 json 返回 编辑:程序博客网 时间:2024/05/19 08:04
声明部分LocationManager.h
#import <Foundation/Foundation.h>#import <CoreLocation/CoreLocation.h>//声明这个blocktypedef void(^GetLocationInformation)(CLLocation *location);//定位管理@interface LocationManager : NSObject <CLLocationManagerDelegate> {}@property (nonatomic, strong) CLLocationManager *manager;//定义一个返回定位信息的block@property (nonatomic, copy) GetLocationInformation callback;//初始化管理器+ (LocationManager *)shareSingleton;//获取用户定位信息+ (void)getUserLocation:(GetLocationInformation)block;@end
实现部分LocationManager.m
#import "LocationManager.h"//单例所指向的内存区域,整个App进程只有一次初始化static LocationManager *manager = nil;@implementation LocationManager+ (LocationManager *)shareSingleton { @synchronized (self) { if (!manager) { manager = [[LocationManager alloc] init]; } } return manager;}- (id)init { self = [super init]; if (self) { //系统的定位管理器 self.manager = [[CLLocationManager alloc] init]; self.manager.delegate = self; //定位精度 self.manager.desiredAccuracy = kCLLocationAccuracyBest; //请求授权 [self.manager requestAlwaysAuthorization]; } return self;}/* 针对系统定位的顶层封装的好处 1.子视图控制器或其他组件可以用更少的代码完成相应的工作。 2.底层内容或者调用改变,只需改变中间的封装层。对于各个组件并无影响。 [LocationManager getUserLocation:^(CLLocation *location) { }]; */+ (void)getUserLocation:(GetLocationInformation)block { if (!manager) { manager = [LocationManager shareSingleton]; } manager.callback = block; [manager.manager startUpdatingLocation];}- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { _callback([locations lastObject]); [manager stopUpdatingLocation];}@end
调用
//经纬度 NSString *longitude; NSString *latitude; //获取用户当前的经纬度 [LocationManager getUserLocation:^(CLLocation *location) { //拿到经纬度就可以去拼接参数拿数据了 longitude = [NSString stringWithFormat:@"%lf", location.coordinate.longitude]; latitude = [NSString stringWithFormat:@"%lf", location.coordinate.latitude]; }];
0 0
- 定位功能---封装的一个获取当前位置的经纬度信息的类
- android定位:获取当前位置的经纬度
- iOS - 定位功能/获取当前位置信息的实现
- Andriod获取当前位置的经纬度
- Android获取当前位置的经纬度
- 【Android 】获取当前位置的经纬度
- 获取当前位置经纬度下的地名以及信息
- android通过高德地图定位sdk获取当前位置的经纬度(只是经纬度哦)
- 使用百度定位SDK获取当前位置的信息
- Android之获取当前位置的经纬度
- 地图应用之 :获取当前位置的经纬度
- Android 获得当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- 百度地图api 获取当前位置经纬度。自驾俩点间的路线。
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- 第7周项目6-停车场模拟
- Oracle之降低高水位线
- OpenCV学习--saturate_cast防止数据溢出
- java练习题5.19
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二十四节:小项目实训《绝命沙滩》
- 定位功能---封装的一个获取当前位置的经纬度信息的类
- UFT的工具简介
- 二分图的最大匹配
- JAVA 输出回文数
- 【C++】观察者模式
- Pythonic到底是什么玩意儿?
- 使用Service下载图片并发送通知读取图片内容
- Android_01_点击事件中View对象的作用
- pat1045Favorite Color Stripe (30)