iOS 定位功能的实现

1、导入框架

 Xcode中添加“CoreLocation.framework”

2、导入主头文件

 #import <CoreLocation/CoreLocation.h>

3、声明管理器和代理

 @interface ViewController ()<CLLocationManagerDelegate>
 @property (nonatomic, strong) CLLocationManager* locationManager;
 @end

4、在appDelegate或控制器中 初始化管理器

//定位管理器
    self.locationManager=[[CLLocationManager alloc]init];

    if (![CLLocationManager locationServicesEnabled]) {
       SSLog(@"定位服务当前可能尚未打开,请设置打开!");
        //return;
    }

    //如果没有授权则请求用户授权
    if ([CLLocationManager authorizationStatus]==kCLAuthorizationStatusNotDetermined){
        [self.locationManager requestWhenInUseAuthorization];// 当使用app时获取位置
//        [self.locationManager requestAlwaysAuthorization];// 一直获取位置
    }
    //设置代理
    self.locationManager.delegate = self;
    //设置定位精度
    self.locationManager.desiredAccuracy=kCLLocationAccuracyBest;
    //定位频率,每隔多少米定位一次
    CLLocationDistance distance = 10.0;//十米定位一次
    self.locationManager.distanceFilter=distance;
    //启动跟踪定位
    [self.locationManager startUpdatingLocation];

5、代理方法

// 跟踪定位代理方法,每次位置发生变化即会执行(只要定位到相应位置)
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
    CLLocation *location=[locations firstObject];//取出第一个位置
    CLLocationCoordinate2D coordinate=location.coordinate;//位置坐标
    self.coordinate = coordinate;
    SSLog(@"经度:%f,纬度:%f,海拔:%f,航向:%f,行走速度:%f",coordinate.longitude,coordinate.latitude,location.altitude,location.course,location.speed);
    //如果不需要实时定位,使用完即使关闭定位服务
    [self.locationManager stopUpdatingLocation];
}

6、在plist文件中设置

NSLocationWhenInUseUsageDescription   后面对应的是使用时对用户的说明

时间: 2024-07-30 12:14:58

iOS 定位功能的实现的相关文章

定位功能

实现iOS定位功能首要步骤:当时是新建一个工程啦~ !~ 步骤一:导入系统定位的类库  CoreLocation.framework 步骤二: 需要在plist文件中添加默认缺省的字段“NSLocationAlwaysUsageDescription”,这个提示是:“允许应用程序在您并未使用该应用程序时访问您的位置吗?”NSLocationAlwaysUsageDescription对应的值是告诉用户使用定位的目的或者是标记.(无论有用没用应用程序,都获得用户位置) 需要在plist文件中添加默

iOS 地图和定位功能

1:定位使用的生活场景 在移动互联网时代,移动app能解决用户的很多生活琐事,比如导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院 在上述应用中,都用到了地图和定位功能 2:iOS定位依赖的框架 在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 Map Kit :用于地图展示(比较重量级) Core Location :用于地理定位 Map Kit的定位是基于Core Location的 iOS定位热门术语: LBS :Location Based Service So

iOS 自带定位功能

第一步:导入头文件 #import <CoreLocation/CoreLocation.h> #import <CoreLocation/CLLocationManagerDelegate.h> 第二步:设置代理 CLLocationManagerDelegate 第三步:创建一个属性 @property(nonatomic, strong) CLLocationManager *locationManager; 第四步:初始化     //定位服务管理对象初始化     _lo

IOS 开启定位功能 CLLocationManager 介绍-简单使用

iOS 中的定位功能,主要在 CoreLocation库中,需要用到位置管理器 CLLocationManager 来完成绝大多数事情. 要使用 CLLocationManager 首先需要一个对象~ 以及对它进行简单的设置,最后开启定位功能, 就开始定位了,定位成功或者失败后都会调用代理方法返回信息 1 CLLocationManager *manger; 2 3 manger = [[CLLocationManager alloc] init]; //初始化 4 5 manger.deleg

iOS开发 -- 实现简单的定位功能

一.定位的说明 现在的应用很多都拥有定位功能.确实,定位功能是很好用的,对我们的生活也有很大的帮助.例如帮你找酒店,找银行等等... 要实现定位有三种方式:   1. 手机基站:(依赖于手机机战(信号塔)的密集程度)  2. GPS:卫星定位,精确度高,但是费电     3. WIFI:根据上网的IP地址,(必须要能上网) 而我们开发中一般都是用GPS定位比较多,我们要实现定位需要用到CoreLocation框架,CoreLocation中主要包含了定位.地理编码(包括反编码)功能. 在iOS8

ios项目开发— iOS8 定位功能API改变

iOS8 定位新增功能 一.  Core Location framework的变化主要有以下几点:         1. 在定位状态中引入Always 和WhenInUse的概念.         2. 加入Visit monitoring的特性, 这类特性特别适合旅行类别的应用,当用户到达某个指定的区域内,monitor开始作用.         3.加入室内定位技术,增加CLFloor, 在室内可以得到楼层信息. 下面针对这三种分别详细的讲一下使用方法. 二..定位的种类分为: 持续的更新

iOS定位

Core Location 的简单使用分享,如有不到位的或者错误的地方,请不吝赐教 Core Location 可以利用3种技术实现定位功能:GPS.蜂窝基站三角网定位和Wi-Fi定位服务.所有这三种方法都会显著消耗电池,因此除非绝对必要,否则不应该对你的位置进行多次轮询.使用Core Location时,可以根据需要指定精度.通过指定所需的绝对最低精度级别,可以防止不必要的电池消耗. iOS 8 还提供了更加人性化的定位服务选项.App 的定位服务不再仅仅是关闭或打开,现在,定位服务的启用提供

iOS定位和位置信息获取

要实现地图.导航功能,往往需要先熟悉定位功能,在iOS中通过Core Location框架进行定位操作.Core Location自身可以单独使用,和地图开发框架MapKit完全是独立的,但是往往地图开发要配合定位框架使用.在Core Location中主要包含了定位.地理编码(包括反编码)功能. 定位是一个很常用的功能,如一些地图软件打开之后如果用户允许软件定位的话,那么打开软件后就会自动锁定到当前位置,如果用户手机移动那么当前位置也会跟随着变化.要实现这个功能需要使用Core Loactio

关于Core Location-ios定位

IOS中的core location提供了定位功能,能定位装置的当前坐标,同一时候能得到装置移动信息.由于对定位装置的轮询是非常耗电的,所以最好仅仅在非常必要的前提下启动. 当中,最重要的类是CLLocationManager,定位管理. 其定位有3种方式: 1,GPS,最精确的定位方式,貌似iphone1是不支持的. 2,蜂窝基站三角定位,这样的定位在信号基站比較秘籍的城市比較准确. 3,Wifi,这样的方式貌似是通过网络运营商的数据库得到的数据,在3种定位种最不精确 使用方式: 1,引入Co