iOS 定位精度
由于iOS不能直接控制到GPS,一般来说我们都会使用CLLocationManager来获取地理位置信息,我们会使用
manager.desiredAccuracy = kCLLocationAccuracyBest;
来请求精确度最高的地理位置信息。但是有个时候请求的地理位置信息偏差很大。
不是误差的问题,是完全不能用的问题。其实 CLLocation 有一个horizontalAccuracy 属性,我们可以通过它来控制精确度问题。比如我们要求精确度为200米,就可以这样写:
- (void)locationManager:(CLLocationManager *)Lmanager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
  if (newLocation.horizontalAccuracy < 200 && newLocation.horizontalAccuracy != -1){
     //Many many code here...
  } else {
    [Lmanager stopUpdatingLocation];	 //停止获取
    [NSThread sleepForTimeInterval:10]; //阻塞10秒
    [Lmanager startUpdatingLocation];	//重新获取
  }
}
CLLocation 的 horizontalAccuracy 属性精确度是米,当值为-1的时候代表定位不可信,所以我们可以通过这个方式筛选掉不符合规格的数据,并且要求重新获取地理位置信息。
iOS 定位精度的更多相关文章
- iOS开发系列--地图与定位
		
概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...
 - iOS开发:保持程序在后台长时间运行
		
iOS开发:保持程序在后台长时间运行 2014 年 5 月 26 日 / NIVALXER / 0 COMMENTS iOS为了让设备尽量省电,减少不必要的开销,保持系统流畅,因而对后台机制采用墓碑式 ...
 - iOS:高德地图的使用
		
本人花了点时间集成了高德地图的几乎所有的功能,包含:地图的显示.地图的绘制.地图的定位.地图的POI数据检索.地图的线路规划.地图导航等下载地址如下:https://github.com/xiayua ...
 - Ios开发之定位CLLocationManager
		
Ios中的定位功能是通过 Core Location框架实现的.它和地图开发框架是相互独立的.在Core Location中主要实现了定位和地理编码的功能! 下面我们就来介绍一下它的属性,方法和代理方 ...
 - iOS 苹果自带地图定位Core Location
		
Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先 ...
 - iOS  定位系统 知识
		
最近在做考勤定位系统 总结一些定位系统的知识. 后期会出一份算法主要攻克地球坐标和火星坐标转换的 1.关于百度的火星坐标定位策略 地图SDK/定位SDK的定位策略: WIFI + 基站 +GPS 三者 ...
 - iOS开发——适配篇&iOS9适配
		
iOS9适配 1. Demo1_iOS9网络适配_ATS:改用更安全的HTTPS [摘要]iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采 ...
 - ios开发——实用技术OC篇&地图与定位
		
地图与定位 11.1 iOS定位服务 11.2 iOS地图 11.3 Web地图 1 iOS定位服务 iOS中有三个定位服务组件: Wifi定位,通过查询一个Wifi路由器的地理位置的信息.比较省电, ...
 - iOS 9 适配需要注意的问题
		
iOS 9 适配需要注意的问题 1`网络适配_改用更安全的HTTPS iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用TLS 1.2 协 ...
 
随机推荐
- iOS 编译报错
			
Undefined symbols for architecture i386: “_OBJC_CLASS_$_XXX”, referenced from: objc-class-ref in XXX ...
 - C语言-03-流程控制
			
一.选择结构 1> if语句 使用注意 ① if语句中的条件语句,不要把==和=弄混,可以把常量作为左值, 这样的话,在无用=的情况下,编译时会报错 ② if语句后若要定义新的变量或者有多条语句 ...
 - 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
			
PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...
 - Effective Java 55 Optimize judiciously
			
Principle Strive to write good programs rather than fast ones. Strive to avoid design decisions that ...
 - HttpClient使用方法(包括POST文件)
			
最近在做跨系统的数据交互业务,从.Net的系统提交数据到Java的系统. 简单的表单Get.POST都没问题,但是有个功能是要提交普通文本和文件,试了好多都有问题,最后用HttpClient小折腾了一 ...
 - 编译hadoop遇到maven timeout
			
在编译hadoop的过程中,使用ant jar进行编译时,提示maven版本库连接超时的问题,通过搜索发现,在如下文件的位置中有repo2的版本库地址,这个地址在国内,目前不能正常的访问: 将 ...
 - Java中的显示锁 ReentrantLock 和 ReentrantReadWriteLock
			
在Java1.5中引入了两种显示锁,分别是可重入锁ReentrantLock和可重入读写锁ReentrantReadWriteLock.它们分别实现接口Lock和ReadWriteLock.(注意:s ...
 - Palindrome subsequence
			
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65535 K (Java/ ...
 - 《TCP/IP详解 卷一》读书笔记-----TCP persist &Keeplive timer
			
1.persist timer:当接收方建议的窗口大小为0时,发送方就会停止发送,直到接收方有缓存空间时再用一个窗口值非零的ACK提示发送方可以继续发送.但是这个称为window update的ACK ...
 - 利用Google Speech API实现Speech To Text
			
很久很久以前, 网上流传着一个免费的,识别率暴高的,稳定的 Speech To Text API, 那就是Google Speech API. 但是最近再使用的时候,总是返回500 Error. 后来 ...