博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决iOS地图持续定位耗电问题
阅读量:5069 次
发布时间:2019-06-12

本文共 1242 字,大约阅读时间需要 4 分钟。

 

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

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

 

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

 

 

 

distanceFilter:距离过滤器

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

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

 

 

 

 

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

 

译文:

实例属性

 

desired Accuracy

位置数据的准确性。

概述

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

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

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

对于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

你可能感兴趣的文章
NYOJ-613//HDU-1176-免费馅饼,数字三角形的兄弟~~
查看>>
graphite custom functions
查看>>
一个自己写的判断2个相同对象的属性值差异的工具类
查看>>
oracle连接的三个配置文件(转)
查看>>
Python内置函数(29)——help
查看>>
oracle导出/导入 expdp/impdp
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
Android TextView加上阴影效果
查看>>
《梦断代码》读书笔记(三)
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
输入月份和日期,得出是今年第几天
查看>>
pig自定义UDF
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
枚举的使用
查看>>