地图位置刷新的代理didUpdateLocations会持续调用,手机非常耗电

但是在实际开发中,有一些APP确实需要用到持续定位的功能,比如:运动类, 导航类, 天气类等等

如何进行持续定位呢?保证持续定位的前提下降低APP的耗电量呢?

distanceFilter:距离过滤器

在生成更新事件之前, 设备的最小距离(以米为单位), 必须是水平移动.

这句就是设置这个值会在执行didUpdateLocations方法前判断水平移动距离是否达到这个值

当然仅仅这样还是不够的. 我们还可以设置GPS的精度

译文:

实例属性

desired Accuracy

位置数据的准确性。

概述

接收机尽力达到要求的准确度; 然而,实际的准确性并不保证。

您应该为此属性指定适合您的使用情景的值。例如,如果您仅在一公里内需要当前位置,您应该指定k​CLLocation​Accuracy​Kilometer而不是k​CLLocation​Accuracy​Best​For​Navigation。确定更精确的位置需要更多的时间和更多的功率。

当请求高精度位置数据时,由位置服务传递的初始事件可能不具有您请求的准确性。定位服务尽快提供初始事件。然后,随着数据可用,您可以根据需要继续确定所请求的准确性,并提供其他事件。

对于iOS和MacOS,此属性的默认值为k​CLLocation​Accuracy​Best。对于watchOS,默认值为k​CLLocation​Accuracy​Hundred​Meters

此属性仅与标准位置服务结合使用,并且在监视重大位置更改时不使用。

  /**

kCLLocationAccuracyBest;              //最好的,米级

kCLLocationAccuracyNearestTenMeters;  //十米

kCLLocationAccuracyHundredMeters;     //百米

kCLLocationAccuracyKilometer;         //一公里

kCLLocationAccuracyThreeKilometers;   //三公里

*/

//持续定位

/**

1.开启开始定位之后,不关闭,让其持续定位

2.设置距离筛选器:坐标移动到指定距离才会调用代理方法

3.设置精准度:通过降低计算的过程(GPS),来达到省电的目的

**/

//iOS定位方法:1.GPS全球定位系统(24颗)   2.移动基站  3.Wifi

//传入的是double值,单位是米,这里传入10,表示距离移动超过十米,才会调用代理方法

self.locationManager.distanceFilter = 10;

//GPS精准度  默认值:kCLLocationAccuracyBest   最精准:kCLLocationAccuracyBestForNavigation

self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;

解决iOS地图持续定位耗电问题的更多相关文章

  1. iOS 后台持续定位详解(支持ISO9.0以上)

    iOS 后台持续定位详解(支持ISO9.0以上) #import <CoreLocation/CoreLocation.h>并实现CLLocationManagerDelegate 代理, ...

  2. iOS开发雕虫小技之傻瓜式定位神器-超简单方式解决iOS后台定时定位

    1.概述 由于公司一款产品的需求,最近一直在研究iOS设备的后台定位.主要的难点就是,当系统进入后台之后,程序会被挂起,届时定时器.以及代码都不会Run~ 所以一旦用户将我的App先换到了后台,我的定 ...

  3. IOS地图及定位使用

    1.定位 定位使用CoreLocation库,引入CoreLocation/CoreLocation.创建CLLocationManager对象,使用startUpdatingLocation方法开始 ...

  4. [OC][地图] 高德地图之定位初探(一)

    使用前的说明 高德地图开放平台的iOS定位模块网址-->http://lbs.amap.com/api/ios-location-sdk/summary/ 高德地图有Web端.android平台 ...

  5. iOS UI进阶-4.0 地图与定位

    在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院   在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能 ...

  6. iOS开发系列--地图与定位

    概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...

  7. iOS 地图定位及大头针的基本使用

    地图 Part1 - 定位及大头针的基本使用 一.MapKit 作用 : 用于地图展示 如大头针,路线,覆盖层展示等(着重界面展示) 使用步骤 导入头文件 #import <MapKit/Map ...

  8. iOS开发之地图与定位

    无论是QQ还是微信的移动客户端都少不了定位功能,之前在微信demo中没有添加定位功能,今天就写个定位的小demo来了解一下定位和地图的东西.地图和定位看上去是挺高大上一东西,其实用法比TableVie ...

  9. iOS进阶_地图上定位的标志——大头针

    一.添加大头针 地图使用的框架是MapKit 大头针走的是MKAnnotation协议 /* 注意:因为是满足协议MKAnnotation,所以没有MKAnnotation的系统大头针类,必须自定义大 ...

随机推荐

  1. Redis报错:ERR This instance has cluster support disabled

    异常分析从报错误的信息ERR This instance has cluster support disabled很明显看得出来,是没有启动redis集群功能,可是我项目配置的集群的配置方式,要么修改 ...

  2. HbaseShell启动

    找到hbase目录 进入bin目录 ./hbase shell 成功

  3. 跑健壮性Monkey,出现一次Crash全过程-日志分析-董浩-Dotest

    最近带着学生做的某个项目,跑健壮性Monkey,出现一次Crash全过程-日志分析: 准备:搭建adb环境.安装实际测试包:开始: Monkey命令: 1 2 3 4 5 adb shell monk ...

  4. Vue动态加载图片图片不显示

    图片是放在assets文件夹下的 使用require进行解决 图片不显示的原因 在webpack,将图片放在assets中,会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法 ...

  5. The 2017 ACM-ICPC Asia Shenyang Regional Contest

    传送门 F - Heron and His Triangle 直接打表找到规律\(f_i=4f_{i-1}+f_{i-2}\),然后大数预处理一下,对于询问直接输出就行. Code #include ...

  6. 201871010112-梁丽珍《面向对象程序设计(java)》第十二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  7. 七夕节 (HDU - 1215) 【简单数论】【找因数】

    七夕节 (HDU - 1215) [简单数论][找因数] 标签: 入门讲座题解 数论 题目描述 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们 ...

  8. 第05组 Beta冲刺(2/4)

    第05组 Beta冲刺(2/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...

  9. IT兄弟连 HTML5教程 HTML5的靠山 W3C、IETF是什么

    无规矩不成方圆,软件开发当然不能例外.Web开发涉及的厂商和技术非常多,所以必须要有参考的标准,而且需要一系列的标准.Web程序都是通过浏览器来解析执行的,通过页面的展示内容与用户互动,所以Web标准 ...

  10. 解决邮件发送错误:503 Error: need EHLO and AUTH first

    引用文章 https://blog.csdn.net/lingfeian/article/details/96731620 问题描述 2019-07-21 16:14:00.449 ERROR 966 ...