一、LBS(定位)的使用

1、使用框架Core Location

2、CLLocationManager

(1)CoreLocation中使用CLLocationManager对象来做用户定位

(2)CLLocationManager的常用操作

  <1>开始用户定位

  - (void)startUpdatingLocation;

  <2>停止用户定位

  - (void) stopUpdatingLocation;

  <3>当调用了startUpdatingLocation方法后,就开始不断地定位用户的位置,中途会频繁地调用代理的下面方法

  - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;

  locations参数里面装着CLLocation对象

  <4> 判断当前定位是否可用,最好在使用前判断

  +locationServicesEnabled

(3)定位的精确度

  <1>@property(assign, nonatomic) CLLocationDistance distanceFilter;

  每隔多少米定位一次

  <2>@property(assign, nonatomic) CLLocationAccuracy desiredAccuracy;

  定位精确度(越精确就越耗电)

3、CLLocation

(1)CLLocation对象用来表示某个位置的地理信息,比如经纬度、海拔等等

(2)经纬度

  @property(readonly, nonatomic) CLLocationCoordinate2D coordinate;

(3)海拔

  @property(readonly, nonatomic) CLLocationDistance altitude;

(4)路线,航向(取值范围是0.0° ~ 359.9°,0.0°代表真北方向)

  @property(readonly, nonatomic) CLLocationDirection course;

(5)行走速度(单位是m/s)

  @property(readonly, nonatomic) CLLocationSpeed speed;

(6)计算两个位置间的距离

  - (CLLocationDistance)distanceFromLocation:(const CLLocation *)location

4、CLLocationCoordinate2D

(1)CLLocationCoordinate2D是一个用来表示经纬度的结构体

(2)定义如下:

  typedef struct {

        CLLocationDegrees latitude; // 纬度

      CLLocationDegrees longitude; // 经度

  } CLLocationCoordinate2D;

(3)一般用CLLocationCoordinate2DMake函数来创建CLLocationCoordinate2D

5、关于用户隐私

(1)从iOS 6开始,苹果在保护用户隐私方面做了很大的加强,很多操作都必须经过用户批准授权:

   <1>获得用户的位置  

  <2>访问用户的通讯录

  <3>日历

  <4>相机

  <5>相册

  <6>等等

(2)如何设置用户隐私

   <1>开发者可以在Info.plist中设置NSLocationUsageDescription说明定位的目的(Privacy - Location Usage Description)

   <2>  总是使用用户位置:NSLocationAlwaysUsageDescription

     使用应用时定位:NSLocationWhenInUseDescription

  

  <3> 不设置该字段,定位不能使用(至少设置其中之一,两个都设置,NSLocationAlwaysUsageDescription生效)

6、示例代码

#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>@interface ViewController ()<CLLocationManagerDelegate>
@property (nonatomic, strong) CLLocationManager *manager;
@end
@implementation ViewController- (CLLocationManager *)manager
{if (!_manager) {//1.创建一个定位管理器_manager =  [[CLLocationManager alloc]init];}return _manager;
}- (void)viewDidLoad {[super viewDidLoad];//2.获取用户的授权[self.manager requestAlwaysAuthorization];//3.开始定位[self.manager startUpdatingLocation];//4.设置代理self.manager.delegate = self;//设置属性/*//导航专用的精确度extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0);extern const CLLocationAccuracy kCLLocationAccuracyBest;extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters;extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters;extern const CLLocationAccuracy kCLLocationAccuracyKilometer;extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers;*///定位精确度self.manager.desiredAccuracy =  kCLLocationAccuracyBestForNavigation;//使用场景//求距离CLLocation *loc1 = [[CLLocation alloc]initWithLatitude:40 longitude:116];CLLocation *loc2 = [[CLLocation alloc]initWithLatitude:41 longitude:116];CLLocationDistance dis =  [loc1 distanceFromLocation:loc2];NSLog(@"%f",dis);}#pragma mark - CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{//1.获取用户的位置CLLocation *location = [locations firstObject];CLLocationCoordinate2D coordinate =  location.coordinate;NSLog(@"%f ---- %f",coordinate.latitude,coordinate.longitude);NSLog(@"locations");
}@end

转载于:https://www.cnblogs.com/cleven/p/5432213.html

LBS(定位)的使用相关推荐

  1. LBS定位应用app的兴趣点与名称搜索

    LBS定位应用app的兴趣点与名称搜索 2015-12-26 22:15:18 我们知道,美团与大众点评的涉及30亿美金的重量级合并是非常的吸引眼球的.在这一场合并中,美团主要看重的是大众点评的门店P ...

  2. 支付和LBS定位对于O2O到底有多重要?

    最近听百度P9构架师分享了一个观点,对我启发较大,写了篇文章来分享一下我对这个观点的思考和看法: O2O的O分别是线上的Online,和线下的Offline.中间的2一个是支付,另一个是LBS(地理位 ...

  3. GNSS系列(2)------OneMO模组LBS定位使用方法全攻略

    由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN. 原文链接: http://onemo10086.com/#/school/article/166 各位小伙伴 ...

  4. 人员定位胸牌关于不同移远模块LBS定位数据格式差异的问题说明

    随着物联网的发展,关于资产跟踪定位的需求不断攀升,其中人员定位作为其中重要一项,被广泛运用于老人.儿童防丢失.户外工作者管理以及企业内部优化流程等. 人员定位胸牌采用WIFI/GNSS/LBS多种定位 ...

  5. WIFI定位,LBS定位,GNSS定位优缺点和适用场景

    三种定位方式的介绍 WIFI定位: 每一个无线AP(路由器)都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内不会移动: 设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是 ...

  6. 安卓学习专栏——百度地图(1)获取SHA1指纹申请百度地图API Key使用百度LBS定位功能(图文保姆级)

    步骤 系列文章 前言 1.前期准备 2.创建应用 3.获取发布版SHA1和开发版SHA1 3.1找到.android文件夹位置 3.2Android Studio的Terminal中cd路径 3.3输 ...

  7. LBS定位技术之GPS(一)

    LBS定位技术从方法上可分成三类:基于三角关系的定位技术.基于场景分析的定位技术.基于临近关系的定位技术(唐毅和杨博雄,2003). 本博文首先对基于三角关系的定位技术进行了介绍,并对其中的应用最广泛 ...

  8. LBS定位技术之GPS

    LBS定位技术从方法上可分成三类:基于三角关系的定位技术.基于场景分析的定位技术.基于临近关系的定位技术(唐毅和杨博雄,2003). 本博文首先对基于三角关系的定位技术进行了介绍,并对其中的应用最广泛 ...

  9. 基站|WIFI|LBS定位|经纬度|查询|API接口

    非常好用的定位数据接口,更新及时,定位精准 地址:LBS数据仓库 | 基站|WIFI|LBS定位|经纬度|查询|API接口

最新文章

  1. 根据矩阵变化实现基于 HTML5 的 WebGL 3D 自动布局
  2. 2018-2019-1 20189218《Linux内核原理与分析》第五周作业
  3. tcp/ip 协议栈Linux源码分析一 IPv4分片报文重组分析一
  4. NYOJ 36 最长公共子序列
  5. 17.2融合关键词的文本增强
  6. 矩阵论7,8,9作业
  7. 单例模式(Single)
  8. 用matlab做胶片滤镜,photoshop图像滤镜——浮雕算法(含matlab与C代码).pdf
  9. 计算机屏幕的显示分辨率与什么有关,计算机屏幕分辨率高低主要跟什么有关?...
  10. MySQL批量创建测试数据脚本
  11. uniapp Apple iOS 绑定解绑
  12. 白狐微信公众号编辑器CMS系统源码
  13. 各大媒体优劣对比_各大自媒体平台优缺点对比
  14. 查找算法--01 顺序查找和二分查找
  15. 集群和均衡负载[摘]
  16. 两种常用的全参考图像质量评价指标——峰值信噪比(PSNR)和结构相似性(SSIM)
  17. vscode和sqlite3的环境配置
  18. 藏拙的搜索引擎技术是2008年全宇宙最耀眼的搜索引擎技术吗?
  19. 我的江湖也是你的江湖
  20. 如何在本机上利用IIS网页发布实现微信小程序与数据库之间的通信

热门文章

  1. busybox 知:介绍
  2. 计算机ip地址配置参数,如何正确设置电脑的IP地址和DNS等参数[图文]
  3. 生物 期中考试 参考答案
  4. 关于微信小程序的一些思考
  5. react实现个人博客网站
  6. 中国银行笔试题目回忆
  7. C. Virus(差分数组,思维)
  8. 武汉理工大学计算机专业英语,第56讲:Computer Virus
  9. EnableWindow()函数的应用
  10. ZYNQ_IIC读写M24M01记录板子状态