IOS中的core location提供了定位功能,能定位装置的当前坐标,同一时候能得到装置移动信息。由于对定位装置的轮询是非常耗电的,所以最好仅仅在非常必要的前提下启动。

当中,最重要的类是CLLocationManager,定位管理。

其定位有3种方式:

1,GPS,最精确的定位方式,貌似iphone1是不支持的。

2,蜂窝基站三角定位,这样的定位在信号基站比較秘籍的城市比較准确。

3,Wifi,这样的方式貌似是通过网络运营商的数据库得到的数据,在3种定位种最不精确

使用方式:

1,引入CoreLocation的包,一般的默认模板里是没有的,所以须要手动导入。

2,通过启动CLLocationManager来启动定位服务,由于定位信息是须要轮询的,并且对于程序来说是须要一定时间才会得到的,所以翠玉lcationManager的操作大多都给托付来完毕。

载入locationManager的代码:

    CLLocationManager *locationManager = [[CLLocationManager alloc] init];//创建位置管理器
locationManager.delegate=self;
locationManager.desiredAccuracy=kCLLocationAccuracyBest;
locationManager.distanceFilter=1000.0f;
//启动位置更新
[locationManager startUpdatingLocation];

desiredAccuracy为设置定位的精度,能够设为最优,装置会自己主动用最精确的方式去定位。

distanceFilter是距离过滤器,为了降低对定位装置的轮询次数,位置的改变不会每次都去通知托付,而是在移动了足够的距离时才通知托付程序,它的单位是米,这里设置为至少移动1000再通知托付处理更新。

startUpdatingLocation就是启动定位管理了,一般来说,在不须要更新定位时最好关闭它,用stopUpdatingLocation,能够节省电量。

对于托付CLLocationManagerDelegate,最经常使用的方法是:

- (void)locationManager:(CLLocationManager *)manager   

    didUpdateToLocation:(CLLocation *)newLocation   

           fromLocation:(CLLocation *)oldLocation;

这种方法即定位改变时托付会运行的方法。

能够得到新位置,旧位置,CLLocation里面有经度纬度的坐标值,

同一时候CLLocation还有个属性horizontalAccuracy,用来得到水平上的准确度,它的大小就是定位精度的半径,单位为米。

假设值为-1,则说明此定位不可信。

另外托付另一个经常用法是

- (void)locationManager:(CLLocationManager *)manager   

       didFailWithError:(NSError *)error ;

当定位出现错误时就会调用这种方法。

关于Core Location-ios定位的更多相关文章

  1. Core Location实现定位

    2013/4/22记录: 注意:如非必要,不应该多次轮询位置信息i 使用时,可根据需要制定精度,通过仔细制定所需的绝对最低精度级别,可以纺织不必要的电池消耗.    导入:CoreLocation.f ...

  2. iOS 苹果自带地图定位Core Location

    Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先 ...

  3. IOS开发之Core Location

    IOS 支持三种检测当前位置的方式:手机基站.Wi-Fi.和GPS,其中GPS是经度最高的,同时也是最耗费手机电量的.一般情况下在室内是无法通过GPS获 取位置信息的,通过Wi-Fi获取位置的原理是通 ...

  4. Core Location :⽤用于地理定位

    Core Location :⽤用于地理定位 在移动互联⽹网时代,移动app能解决⽤用户的很多⽣生活琐事,⽐比如 导航:去任意陌⽣生的地⽅方 周边:找餐馆.找酒店.找银⾏行.找电影院 在上述应⽤用中, ...

  5. iPhone的定位技术与Core Location框架

    来源:http://www.cnblogs.com/lovecode/archive/2011/12/24/2300579.html iPhone定位来源通常有:1. GPS定位 2. WiFi定位 ...

  6. iOS开发-Core Location和Map Kit

    一.Core Location确定物理位置 利用以下3种技术: 1.GPS(最精确的) 2.蜂窝基站ID定位(cell ID Location) 3.WPS(Wi-Fi Positioning Ser ...

  7. ios中Core Location跟Map Kit的基本使用

    地图类开发应用中,离不开地理位置跟MKMapView的使用,下面就记录下自己在使用这两个东西中学到的. 不过并不是所有苹果的设备都支持地理位置,我们在使用前应该做个判断,代码如下: BOOL loca ...

  8. ios 定位

    ios 定位新功能----在程序中实现定位功能 Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如 ...

  9. iOS定位服务编程详解

    现在的移动设备很多都提供定位服务,使用iOS系统的iPhone.iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星 i ...

随机推荐

  1. HDU 4296 Buildings (YY)

    题意: 给定N个物体,每个物体有两个参数w,s.   w代表它自身的重量: s代表它的强度.现在要把这些物体叠在一起,会产生一个PDV值. PDV解释:(Σwj)-si, where (Σwj) st ...

  2. java面向对象下:Java数据库编程

    19.Java数据库编程: JDBC概述:        JDBC(Java Database Connection)是java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类 ...

  3. vs2013 IntelliSense: "const char *" 类型的实參与 "LPCWSTR" 类型的形參不兼容

    错误例如以下: 解决方法: project字符集选择多字符

  4. MySQL 更新走全表和索引的评估记录数

    #!/usr/bin/perl use DBI; $db_name='scan'; $ip='127.0.0.1'; $user="root"; $passwd="123 ...

  5. Bootstrapping (compilers) - Wikipedia, the free encyclopedia

    Bootstrapping (compilers) - Wikipedia, the free encyclopedia Bootstrapping (compilers)

  6. UVALive 5790 Ball Stacking 解题报告

    比赛总结 题目 题意: 有n层堆成金字塔状的球,若你要选一个球,你必须把它上面那两个球取了,当然也可以一个不取.求选的球最大的权值和. 题解: 将这堆球转成举行,第一行是(0,0),第二个是(1,0) ...

  7. 11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001

    11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001 象: 在11gR2 GridInfrastructure和Database软件安装完毕之后,运行DBCA创建数据库 ...

  8. Servlet:通过初始参数实现权限访问某个文件、页面

    目录结构 src 目录下com.xieyuan包MyServlet.java文件(Servlet文件) package com.xieyuan; import java.awt.Color; impo ...

  9. 架设FLASH视频流server心得

    什么样的情况下才使用FMS?有下面几种情形的时候,你可能须要用到FMS 1.须要通过Flash Player 播放视频,而视频是以流的方式,而不是http渐进式下载的方式进行播放的时候.渐进式下载就是 ...

  10. 手机装linux系统

    第一步: 首先 , 你的手机需要获取root权限. 如果不知道如何获取, 可以到电脑上搜索一下安卓手机root教程. 不同品牌的手机root的方法不同. 也可以到机锋论坛上寻找root的具体方法. 第 ...