地图位置刷新的代理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;

转载于:https://www.cnblogs.com/quxiangfu/p/6622551.html

解决iOS地图持续定位耗电问题相关推荐

  1. mpaas 接入高德地图 持续定位不起作用

    1.把静态库 APMobileLBS 移除 2.移除后会又些依赖库报错 3.删除一些依赖库 把相关联的库都删了,APMap,BeeLocationPicker.BeeCityPicker 删除 4.成 ...

  2. iOS iOS 地图与定位开发系列教程

    iPhone SDK提供了三个类来管理位置信息:CLLocation CLLocationManager 和 CLLHeading(不常用).除了使用GPS来获取当前的位置信息外,iPhone也可以基 ...

  3. iOS后台持续定位并定时上传

    最近做一个考勤APP,功能很简单,就是一直在后台运行,每隔固定时间向服务器上传一次位置信息.持续运行24小时测试,功能实现. 1.ViewController.h文件: #import <Cor ...

  4. iOS开发 - 百度地图后台持续定位

    2019独角兽企业重金招聘Python工程师标准>>> 之前有做一个定位的项目,类似嘀嘀打车那样. 需要后台持续定位. 这里选择了百度地图,不过在后台持续定位方面, 之前只是简单的设 ...

  5. ios 高德获取定位_解决ios11不支持高德地图API定位功能的方法

    在 iOS 11 系统上访问JS API定位业务失败怎么解决? 苹果新发的 iOS 11 操作系统的一大特性是对 http 形式访问页面的限制变得非常严格(相比iOS 10 和 iOS 9).高德提供 ...

  6. 微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非https网站不提供支持问题

    微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非https网站不提供支持问题 参考文章: (1)微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非http ...

  7. ios 持续获取定位 高德地图_iOS 定位 高德地图

    最近项目中有需求需要使用定位,上报经纬度和地址信息,还有可以在地图界面随意选择地点,因为和后台经纬度匹配的问题,所以选择了高德地图(百度地图经纬度是有自己算法的). 1.定位 iOS定位SDK提供后台 ...

  8. iOS获取高德地图实现持续定位功能

    首先,根据高德地图开发平台在Xcode里面配置相应的环境 自动部署用cocoapods,请按照http://lbs.amap.com/api/ios-location-sdk/guide/create ...

  9. iOS地图定位(Map)

    1.地图的简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如     导航:去任意陌生的地方     周边:找餐馆.找酒店.找银行.找电影院     手机软件:微信摇一摇.QQ附近的人. ...

最新文章

  1. centos 安装 NTFS支持
  2. c语言中freopen函数,fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)
  3. java timezone_Java TimeZone inDaylightTime()方法及示例
  4. jQuery-Selectors(选择器)的使用(一、基本篇)
  5. 开源软件 依赖_新的开源依赖项管理器在场
  6. (转)hibernate-5.0.7+struts-2.3.24+spring-4.2.4三大框架整合
  7. iphone个人热点无法开启_iPhone无法开启个人热点怎么回事【解决方法】
  8. 异步方法的编写与使用
  9. 使用Python快速获取公众号文章定制电子书(二)
  10. angular js权威指南笔记
  11. 网络黑客节庆狂欢 趋势科技见招拆招
  12. Eigen教程(4)
  13. ios9提取安装包ipa_iOS 获取App的ipa包以及资源文件
  14. 数字化转型— 华为业务流程模型学习
  15. MATLAB五子棋游戏(双人对战,可悔棋)
  16. Linux磁盘分区总结
  17. 音频格式怎么转换成mp3格式?
  18. ubuntu20.04下搜狗输入法不能输中文问题解决
  19. python文字游戏攻防_一个简单的孙悟空斗牛魔王的文字游戏
  20. 五个角度浅析大数据与BI的区别

热门文章

  1. vue项目实现按需加载的3种方式
  2. 原生js实现一个连连看小游戏(一)
  3. OpenJ_Bailian——4115鸣人和佐助(带状态的A*)
  4. sed教程(七)之特殊字符
  5. [总结]Jquery api 快速参考
  6. 滚动数组~\(≧▽≦)/~
  7. 每日两道前端面试题20190221
  8. [WP8.1UI控件编程]Windows Phone自定义布局规则
  9. 《Arduino奇妙之旅:智能车趣味制作天龙八步》一2.4 准备好了吗?
  10. sed命令 学习笔记