iOS定位与地图
定位:
手机上定位的实现主要有三种方式:基站(附近基站的位置),wifi(所连接路由器的位置),卫星(最准确,也最耗能)。
iOS的定位功能主要是由CLLocationManager类来完成的。这个类属于CoreLocation类库,所以使用定位功能之前,现在头文件中导入该类库。
定位的步骤:
1. 通过类方法判断定位服务是否开启,若为NO,则先要提醒用户在手机上设置开启定位服务;
+ (BOOL)locationServicesEnabled
2. 通过类方法判断授权状态(iOS8之后)。授权状态的返回类型是枚举,大概分为:禁止(任何时候不可以)&在程序运行期间允许&一直允许。若为禁止,则可以给用户发送授权请求,然后等待用户同意或者拒绝;
+ (CLAuthorizationStatus)authorizationStatus // 返回授权状态
[_locationManager requestAlwaysAuthorization]; // 请求一直允许授权
[_locationManager requestWhenInUseAuthorization]; //请求程序运行期间允许授权
3.创建CLLocationManager实例,并设置一些属性(定位精度,频率等);
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
CLLocationDistance distance = 10.0; //每10米更新
locationManager.distanceFilter = distance;
4.设置locationManager对象的代理,并重写代理方法;
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation;
注意:第一个方法的返回参数是每项为CLLocation类型的数组,
5.这些都弄完后,就可以开始定位了,最后当使用完定位后记得要停止定位,因为定位是相当消耗性能和电量的。
[locationManager startUpdatingLocation]; //开始定位
[locationManager startUpdatingHeading] //开始导航
地图:
iOS的地图功能是集成在MapKit框架中的,所以首先要在头文件中导入。
现在很多地图应用都是一出现地图,正中央就是用户当前所在位置。
使用地图的步骤:
1. 创建mapView,要使用地图功能,首先要有地图视图。紧接着设置mapView的一些属性,比如地图类型(平面,立体等),跟随类型(不跟随,跟随,跟随且跟随方向)。还可以调用mapView的方法添加标注视图;(大头针视图和tabView里面的cell很相似,都由代理方法返回,都可以复用,都可以自定义)。
2. 设置mapView的代理,并重写代理方法。代理方法有加载地图结果的处理,还有对地图标注(大头针)的动作处理。
iOS定位与地图的更多相关文章
- iOS定位 (一) 地图定位
带地图的定位方法#import <CoreLocation/CoreLocation.h> #import <MapKit/MapKit.h> <MKMapViewDel ...
- iOS开发系列--地图与定位
概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...
- iOS开发之地图与定位
无论是QQ还是微信的移动客户端都少不了定位功能,之前在微信demo中没有添加定位功能,今天就写个定位的小demo来了解一下定位和地图的东西.地图和定位看上去是挺高大上一东西,其实用法比TableVie ...
- iOS进阶_地图上定位的标志——大头针
一.添加大头针 地图使用的框架是MapKit 大头针走的是MKAnnotation协议 /* 注意:因为是满足协议MKAnnotation,所以没有MKAnnotation的系统大头针类,必须自定义大 ...
- iOS之定位与地图
概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用 和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一 ...
- iOS中的地图和定位
文章摘自http://www.cnblogs.com/kenshincui/p/4125570.html#location 如有侵权,请联系删除. 概览 现在很多社交.电商.团购应用都引入了地图和定 ...
- IOS定位核心与地图
IOS定位核心与地图 Core Location以及Map框架包通常能给我们的应用程序添加定位和地图相关的服务.Core Location框架包通常是使用硬件设备来进行 ...
- iOS开发中地图与定位
不管是QQ还是微信的移动client都少不了定位功能,之前在微信demo中没有加入定位功能,今天就写个定位的小demo来了解一下定位和地图的东西. 地图和定位看上去是挺高大上一东西.其有使用方法比Ta ...
- 转-iOS开发系列--地图与定位
来自: http://www.cnblogs.com/kenshincui/p/4125570.html#autoid-3-4-0 概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功 ...
随机推荐
- GDAL1.11版本号对SHP文件索引加速測试
GDAL库中对于矢量数据的读取中能够设置一些过滤器来对矢量图形进行筛选.对于Shapefile格式来说.假设数据量太大,设置这个过滤器时间慢的简直无法忍受.好在GDAL1.10版本号開始支持读取Sha ...
- DevExpress.GridControl.gridView的一些注意
1.DevExpress控件组中的GridControl控件不能使横向滚动条有效.现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容. 解决: gridView1.Op ...
- CSS3 布局
1.1 列布局 CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充.这种新语法能够让WEB开发人员轻松的让文本呈现多列显示.我们知道,当一行文字太长时 ...
- web中通过注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>版本
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![e ...
- Android 开发中的View事件监听机制
在开发过程中,我们常常根据实际的需要绘制自己的应用组件,那么定制自己的监听事件,及相应的处理方法是必要的.我们都知道Android中,事件的监听是基于回调机制的,比如常用的OnClick事件,你了解它 ...
- OC——类
1.Objective-C是C语言的超集,完全兼容C语言 2.所有的关键字都以“@”开头,例如:@interface,@class,@implementation 3.Objective-C的所有对象 ...
- windows系统——mysql自动定时备份数据库的最佳方法
网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...
- eclipse 和myEclipse 项目导入
经常在eclipse/myeclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目. 有两种情况: 一.eclipse无法识别其他eclipse的web项目 解决步骤: ...
- MYSQL 部分事务
MYSQL 中通过 savepoint 的方式来实现只提交事务的一部分. step 1 : savepoint savepoint_name;. 做标记 step 2 :rollbak to save ...
- 了解单位em和px的区别
这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用p ...