IOS定位基本使用

原创 2015年07月08日 19:50:20

IOS中定位如果不使用第三方的框架,就会使用系统自带的CoreLocation完成定位。CLLocationManager类:该类主要用于定位,获取用户的基本信息,结合MapKit使用就能实现简单的导航功能。

  1. CLLocationManager 使用
    1. 首先实例化一个CLLocationManager对象
      CLLocationManager *manager=[[CLLocationManager alloc] init];
      1. manager.distanceFilter = 100;//配置多少米跟新一次
      2. manager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;//配置精确度
      3. manager.activityType = CLActivityTypeOther;//配置导航用途
    2. 设置对象的代理
      manager.delegate=self;
    3. 在IOS8之前不需要做特殊处理
      1. 但是在IOS8的时候需要主动向用户发起授权请求,并且需要在Info.plist文件中添加NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription属性才能得到用户的地理位置信息
        if ([[UIDevice currentDevice].systemVersion integerValue] >= 8.0) {
        [self.manager requestAlwaysAuthorization];
        }
        else {
        [self.manager startUpdatingLocation];
        }

        然后在didChangeAuthorizationStatus代理方法中监听授权的结果,如果授权成功踩调用startUpdatingLocation方法获取定位信息
    4. 调用startUpdatingLocation获取地理位置信息
      [manager startUpdatingLocation];
    5. 调用startUpdatingHeading获取到方向信息
      [manager startUpdatingHeading];
    6. 实现代理中的didUpdateLocations方法获取地理位置信息,在代理方法中locations这个数组里面就包括了所定位到的地理位置信息。
  2. CLLocationManager使用注意事项
    1. 模拟器调试的时候如果出现BUG可以试试重置模拟器
    2. 在调用startUpdatingHeading方法的时候不需要用户授权

CLLocationManager类中一些字段的说明

// CLLocation中的一些字段
location.coordinate; //坐标, 包含经纬度
location.altitude; //设备海拔高度 单位是米
location.course; //设置前进方向 0表示北 90东 180南 270西
location.horizontalAccuracy; //水平精准度
location.verticalAccuracy; //垂直精准度
location.timestamp; //定位信息返回的时间
location.speed; //设备移动速度 单位是米/秒, 适用于行车速度而不太适用于不行
//配置需要的精确度
kCLDistanceFilterNone;
kCLLocationAccuracyBestForNavigation //导航级最佳精准
kCLLocationAccuracyBest; //最佳精准
kCLLocationAccuracyNearestTenMeters; //10米误差
kCLLocationAccuracyHundredMeters; //百米误差
kCLLocationAccuracyKilometer;  //千米误差
kCLLocationAccuracyThreeKilometers; //3千米误差
//定位数据的用途
CLActivityTypeOther 作为普通用途
CLActivityTypeAutomotiveNavigation  作为车辆导航
CLActivityTypeFitness  作为不行
CLActivityTypeOtherNavigation 作为其它导航
版权声明:本文为博主原创文章,未经博主允许不得转载。

ios百度地图的使用(基本定位和地理编码)

摘要 狗屎的百度地图,建议大家都别用,一坨屎,不过还是给大家分享一下了,基于百度地图2.3.0 SDK 在这里就不在介绍百度的具体配置,配置详见http://developer.ba...

iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码

最近有朋友在问百度地图的使用方法,即使把百度地图的代码拷出来也不能实现,笔者个人认为要么是配置环境不对要么是代码不对,而且百度本身的API也很强大,SDK中提供了很多功能的实现的Demo,笔者曾单独拿...

ios百度地图的使用(基本定位和地理编码)

在这里就不在介绍百度的具体配置,配置详见http://developer.baidu.com/map/index.php?title=iossdk 1.首先接受基本的地图功能 新建一个地图...

iOS - 百度地图最基本操作(定位,手势添加自定义标注)

用 cocoapods 导入百度SDK, 然后开始... #import "ViewController.h" #import #import #impor...

iOS地图及定位功能基本实现的详尽描述

首先创建一个viewController: 添加MapKit,CoreLocation框架 一、添加地图 1、初始化地图视图:   @property (nonatomi...

【百度地图开发之五】百度地图定位图层基本使用方法讲解

写在前面的话:    【百度地图开发之五】百度地图地位图层基本使用方法讲解(博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明。      Aut...

菜鸟学习之路—— CoreLocation(定位功能)的基本使用

// 成为CLLocation的代理,监听获取位置     self.mgr.delegate = self;          // 设置多久获取依次位置 //    self....

Android自动化-使用interface实现by定位、元素基本操作

之前写自动化都是直接撸,今天用interface来实现元素定位、元素操作,时间有限所以只写了这两个作为参考,不喜勿喷,重在交流。废话不多说,直奔主题吧。 首先看下工程目录        Actio...

百度Map的基本使用和定位

第一步 进入开放平台注册开发账号 第二步 下载对应sdk 第三步 创建应用 获取SHA1(开发版和发布版) 第四步 集成(添加jar和so动态库文件)清单配置 第五步 调用API ...
  • marry_
  • marry_
  • 2017年04月23日 20:56
  • 79
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS定位基本使用
举报原因:
原因补充:

(最多只允许输入30个字)