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 概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功 ...
随机推荐
- WorkFlow WF如何为一个集合赋值
今天刚刚开始学习WorkFlow.无奈WF网络上的学习资料实在太少. 刚刚学到Foreach控制流的使用,需要一个集合参数.经研究,静态赋值可以搞定.动态赋值还没. 首先添加一个List<int ...
- DoNet开源项目-基于jQuery EasyUI的后台管理系统
博主在业余时间开发了一个简单的后台管理系统,其中用到了 jQuery EasyUI 框架,上次分享过系统布局,参考文章:jQuery EasyUI 后台管理系统布局分享,目前已完成系统的整体框架的搭建 ...
- 普通用户登录Oracle DB Control
使用 sys 或者 system 用户登录 Oracle DB Control 是没有问题的. 但是,如果是普通的用户需要登录Oracle DB Control,建表或者视图之类的, 则需要授权 SE ...
- Oracle 物理DG切换
在进行DATA GUARD的物理STANDBY切换前需要注意:确认主库和从库间网络连接通畅:确认没有活动的会话连接在数据库中:PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态 ...
- AfxEnableControlContainer()
1)OLE(Object Linking and Embedding,对象连接与嵌入).是一种面向对象的技术,利用OLE可开发可重复使用的软件组件(COM). 2)ActiveX 控件是基于组件对象模 ...
- 当tomcat有两个链接数据库的应用同时运行可能冲突
-Xms512M -Xmx1024M -XX:MaxPermSize=256M
- Android WebView 小结
1.设置网页的缩放比例的时候,可以使用以下属性: mWebview.setInitialScale(25);//为25%,最小缩放等级 WebSettings setting = mWebview.g ...
- gridView行号的显示
我们在进行开发的时候,很多地方希望dataGridview或girdView显示行号,这里我来说一下两种的实现方法 在girdView中很简单很好实现,我在这里写一下代码,具体其他功能可以看其带的DE ...
- 限制TextBox输入,只能输入整数
public class TextBoxInt : TextBox { public TextBoxInt() { KeyDown += TextBoxInt_KeyDown; TextChanged ...
- C语言入门(21)——使用DBG对C语言进行调试
C语言入门(21)--使用DBG对C语言进行调试 程序中除了一目了然的Bug之外都需要一定的调试手段来分析到底错在哪.到目前为止我们的调试手段只有一种:根据程序执行时的出错现象假设错误原因,然后在代码 ...