- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《从零开始学iOS7开发系列3-我的地盘我做主-Cha9》.pdf
从零开始学iOS7开发系列3-我的地盘我做主-Cha9
原⽂及⽰例代码来⾃raywenderlich store中的iOS Apprentice 系列3教程,经过翻译和改编。
版权归原作者所有,本系列教程仅供学习参考使⽤,感兴趣的朋友建议购买原英⽂教程教程(The
iOS Apprentice Second Edition: Learn iPhone and iPad Programming via Tutorials!)。
购买链接:
/store
最近玩炉⽯有点迷,顺便看了下⽐较⽕的⼏个⽆节操(⾮贬义)游戏解说视频,⽐如夏⼀可,星际
少帮主,毕游侠神⻢的,推荐⼤家假期可以好好看看,玩玩。
神⻢?你竟然问我天梯排名多少?这不是拍脸⾄死的节奏吗?!
那啥,我们还是开始学习本课的内容吧,看我怎么⽤各种SY (术
语)虐死你。
⾸先还是回顾下上期节⺫内容。恩,怎么觉得哪⾥有点不对。
在上⼀期节⺫中,我们学习了如何利⽤Core Location框架来获取⼀个CLLocation对象,⽽且了解了
如何处理不同的错误信息。接下来该肿么办?
好吧,如果你够细⼼,会看到Core Location⼀直在努⼒寻找新的位置信息对象,⼀直在努⼒,⼀直
在努⼒即便最终的坐标已经不再发⽣任何变化了,还是⼀直在努⼒,⼀直在努⼒…这是因为⽤户
可能会时不时⾛两步,然后他们的位置信息也的确发⽣变化了。不过这⾥我们不打算搞⼀个导航应
⽤,因此当我们觉得位置信息已经⾜够准确了以后,就需要通知location manager停⽌发送位置信息
更新。
这⼀点很重要,因为获取位置信息更新很耗电,因为在这个过程中需要保持GPS/Wi-Fi/蜂窝⺴络信
号的开启。⽽我们这款应⽤并不需要随时请求GPS信息,因此当位置信息差不多了的时候就该消停
⼀会⼉了。
问题在于,怎么来判断这个位置信息已经⾜够精确了呢?
这个的确要动⼀下脑⼦。这⾥给出的解决办法是:如果最后获得的⼏个坐标信息没有明显的变化,
那么就说明位置信息基本上就差不多准确了,此时就可以让定位的硬件元件休息下省省电了。
在CurrentLocationViewController.m中更改didUpdateLocations⽅法如下:
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
CLLocation *newLocation = [locations lastObject];
NSLog(@ 已更新坐标,当前位置:%@,newLocation);
if([newLocation.timestamp timeIntervalSinceNow] -5.0){
return;
}
if(newLocation.horizontalAccuracy 0){
return;
}
if(_location == nil || _location.horizontalAccuracy newLocation.horizontalAccuracy){
_lastLocationError = nil;
_location = newLocation;
[self updateLabels];
if(newLocation.horizontalAccuracy = _locationManager.desiredAccuracy){
NSLog(@*** ⺫标诺森德!成功完成定位);
[self stopLocationManager];
}
}
}
上⾯这段代码有点⻓,我们还是⼀步步来看吧:
if([newLocation.timestamp timeIntervalSinceNow] -5.0){
return;
}
如果获取最近⼀个位置信息对象的时间太⻓(这⾥设置的阀值是5秒),那么它就是⼀个所谓的
cached (缓存)结果。location manager并⾮⼀直向
您可能关注的文档
- 《不锈钢齿轮油泵》.pdf
- 《与罗伯特艾伦对话 创造多种收入流的秘密》.pdf
- 《世界三大励志经典之一:做你想做的人[英]詹姆斯•艾伦着》.pdf
- 《两台WinCC之间OPC通讯方法(WinXP)》.pdf
- 《中国2016艾滋病治疗手册》.pdf
- 《中国“互联网+旅游地产”专题研究报告2015(简版)》.pdf
- 《中国含氨基酸叶面肥行业市场投资调研及预测分析报告》.pdf
- 《中国普洱茶网:普洱茶从零开始学习教程》.doc
- 《中国艾滋病问题解析》.pdf
- 《中国遏制与防治艾滋病“十二五”行动计划》.doc
- 《中国通史》文字稿第12集春秋争霸.docx
- java教程--类与对象-讲义课件(演讲稿).ppt
- Vue应用程序开发-(1).pptx
- 东北师大版社劳动实践与评价指导手册一年级上册主题二活动一寻找五彩的树叶课时课件.pptx
- 外研版英语四年级上册 Module 4 Unit 2 How much is it单元教学设计.docx
- 外研版英语四年级上册Module 4 单元整体教学设计.docx
- 6《上课之前》课件 鄂科技版 心理健康教育一年级.pptx
- 《1~5的认识》说课课件(共25张PPT)人教版一年级上册数学.pptx
- 六《解决问题(1)》说课课件 人教版 三年级上册数学.pptx
- 七《解决问题》说课课件 人教版 二年级上册数学.pptx
最近下载
- 2024年甜菜种植行业分析报告及未来五到十年行业发展趋势报告.docx
- 二十届三中全会关于教育、科技、人才等领域改革专题解读PPT.pptx VIP
- 一种通信单管塔用减振阻尼器.pdf VIP
- 【B-4】护理部门能够按照临床护理工作量对临床科室护士进行合理配置和调配。.docx
- 第三篇:外卖代运营之店铺基础诊断.docx
- 【B-2】有效执行年度计划,并有总结.docx
- 【B-3】护理部门对《护士条例》执行落实情况开展监督检查.docx
- 第二篇:外卖代运营营销思路和话术.docx
- K212 食品快速检测技术、实习实训库 配套项目实训手册、项目操作实训指导书 食品快速检测技术项目实训手册.doc
- 幕墙工程赶工措施范本.docx
文档评论(0)