定位CoreLocation
定位顺序:
1. 首选GPS:
1) 前提: 室内肯定不会用GPS
2. wifi —> 最经济实惠的
3. 基站
GPS:
优点: 定位最准确;
缺点: 最费电; 最费流量;
功能/内容:
1. 单纯的定位 CoreLocation Framework
1) 常用的类:
CLLocationManager;
CLLocationManagerDelegate;
CLLocation;
2.定位的步骤:
1) #import <CoreLocation/CoreLocation.h>
2) 遵循协议CLLocationManagerDelegate
3) 创建CLLocationManager对象
4) 设置代理, 并实现协议的方法
3. 针对ios8+以上版本的定位设置:

[self.geoCoder geocodeAddressString:name completionHandler:^(NSArray *placemarks, NSError *error) {}];
反地理编码: 给定一个经纬度, 获取经纬度的位置
常用类: CLGeocoder; CLPlacemark;
[self.geoCoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {}];
#import <CoreLocation/CoreLocation.h>
@interface ViewController () <CLLocationManagerDelegate>
@property (nonatomic, strong) CLLocationManager *mgr;
@end
- (CLLocationManager *)mgr {
if (!_mgr) {
_mgr = [CLLocationManager new];
}
return _mgr;
[super viewDidLoad];
//设置代理
self.mgr.delegate = self;
if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
//plist设置
[self.mgr requestWhenInUseAuthorization];
} else {
//ios7
NSLog(@"ios7");
[self.mgr startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
if (status == kCLAuthorizationStatusAuthorizedAlways || status == kCLAuthorizationStatusAuthorizedWhenInUse) {
NSLog(@"用户授权成功");
//开始定位
[self.mgr startUpdatingLocation];
} else if (status == kCLAuthorizationStatusDenied) {
NSLog(@"用户授权拒绝");
}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
[self.mgr stopUpdatingLocation];
定位CoreLocation的更多相关文章
- iOS开发——高级篇——地理定位 CoreLocation
一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用 ...
- 定位 - CoreLocation - 区域报警
#import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...
- 定位 - CoreLocation - 指南针
#import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...
- 定位 - CoreLocation - 打印位置信息
1. 导入框架 <CoreLocation.framework>, 引入头文件 import <CoreLocation/CoreLocation.h>; 2. 创建管理者对象 ...
- 地图定位CoreLocation框架,地理位置编码与反编码
在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...
- iOS学习笔记19-地图(一)定位CoreLocation
一.定位介绍 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.要实现 ...
- iOS定位--CoreLocation框架
CoreLocation框架的使用 // 首先导入头文件 #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是C ...
- iOS定位--CoreLocation
一:导入框架 #import <CoreLocation/CoreLocation.h> 二:设置代理及属性 <CLLocationManagerDelegate> @prop ...
- 定位 - CoreLocation - INTULocationManager
https://github.com/intuit/LocationManager #import "ViewController.h" #import "INTULoc ...
随机推荐
- socket基本操作
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠so ...
- VBScript: 正则表达式(RegExp对象)
RegExp对象是VBScript中用于提供简单地正则表达式支持的对象.VBScript中所有和正则表达式有关的属性和方法都有这个对象有关联. 一.RegExp对象的属性和方法(三个属性,三个方法) ...
- Leetcode OJ : Merge k Sorted Lists 归并排序+最小堆 mergesort heap C++ solution
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...
- NOIP2006 能量项链
洛谷1063 能量项链 本题地址:http://www.luogu.org/problem/show?pid=1063 题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N ...
- NOIP2011 观光公交
3.观光公交 (bus.cpp/c/pas) 风景迷人的小城 Y 市,拥有 n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 ...
- linux下mysql命令
一.总结一下: 1.linux下启动mysql的命令: mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysq ...
- EventBus使用小记
自从使用了EventBus,代码干净了好多. 从此你不用startActivityForResult了,从此你不用再写注册BroadcastReceiver了,从此你不用再写一些回调了. 只需要在需要 ...
- Failed to install apk on device timeout
安装应用时遇到下面的错误 Failed to install *.apk on device timeout 在eclipse中,window->prefreences->DDMS-& ...
- UIBezierPath精讲
前言 笔者在写本篇文章之前,也没有系统学习过贝塞尔曲线,只是曾经某一次的需求需要使用到,才临时百度看了一看而且使用最基本的功能.现在总算有时间停下来好好研究研究这个神奇而伟大的贝塞尔先生! 笔者在学习 ...
- stm32 CAN引脚-笔记
默认: CANRX – > PA11 CANTX - >PA12 映射1: CANRX – > PB8 CANTX - >PB9 映射2: CANRX – > ...