定位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 ...
随机推荐
- C++ 文件操作(CFile类)
原文:文件操作(CFile),C吉羊 一.Visual C++编程文件操作 有如下方法可进行操作: (1)使用标准C运行库函数,包括fopen.fclose.fseek等. (2)使用Win16下的文 ...
- java jvm学习笔记八(实现jar包的代码签名)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao/article/details/8267669 课程源码:http://download.csdn.net/detai ...
- 介绍并扩展Fitnesse的测试模块化机制:ScenarioTable
摘要:在验收测试框架Fitneese中,使用Scenario可以把最常用的测试步骤封装起来,从而达到模块化定义Fitnesse测试用例的能力.但Scenario仅限于封装Script测试步骤,Scri ...
- (二)NUnit单元测试心得
现在接着上次说到的内容,如何在项目中进行单元测试.由于做了一些调整,我上次发的内容,我这次也会重新发一次,请认真看看. 一.软件开发过程中存在的问题(没有使用单元测试的情况下) 难于定位bug的位置 ...
- MFC菜单、工具栏和状态栏
菜单:CMenu类 CMenu类的主要成员函数 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上.参数nIDResource指定了要加载的菜 ...
- bzoj 2820 YY的GCD(莫比乌斯反演)
Description 神犇YY虐完数论后给傻×kAc出了一题 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对 kAc这种傻× ...
- leetcode—Same Tree
1.题目描述 Given two binary trees, write a function to check if they are equal or not. Two binary tree ...
- CentOS 6.5 安装配置
关于CentOS的安装,网上有很多详细的教程.其实重点就在于硬盘的分区和软件的定制这两块.下面我在VirtualBox虚拟机上安装 CentOS-6.5-i386-minimal. 1.在起始菜单处选 ...
- 更新yum到 163
cdh4 yum安装; http://www.cloudera.com/content/support/en/documentation/cdh4-documentation/cdh4-documen ...
- SQL2008-分页显示3种方法
方法1: 适用于 SQL Server 2000/2005/2008 SELECT TOP 10 * FROM YieldRole WHERE id NOT IN ( SELECT TOP (10*( ...