iOS 不同需求下的定位
来源:互联网 发布:淘宝怎么增加买家信用 编辑:程序博客网 时间:2024/06/05 00:33
作为iOS定位
不同需求实现的方式肯定也是不一样的
1 用户位置持续变化的每隔一段时间就上报一次
2 用户移动速度很慢每隔一段距离上报一次
3 用户到达某处的时候没有变化就不上报
1的思路就是用定时器按时向服务器上传用户的当前坐标
可以使用CLLocationManager的代理CLLocationManagerDelegate函数
didupdateLoactions获取当前的坐标
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations需要注意的是 因为要保持后台定时的上传给服务器坐标,则需要声明后台权限,但是后台权限大家都知道是有VOIP,后台定位等的,那就可以直接在info.plist文件中加入
Privacy - Location Always Usage Description就行
然后在初始化定时器的时候加入
[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"一直开启后台定位"); }];
2的思路是根据当前用户的位置进行上传坐标 可以把它设置成一个范围进行比较然后上传 这个也是参照网上的 distanceFilter = currentSpeed*minInterval 这样做的优点就是节省系统的资源。
先初始化,为以后的比较设置默认值
self.minSpeed = 3; self.minFilter = 50; self.minInteval = 10; locationManage.distanceFilter = self.minFilter;
根据需要上传下面代码的意思是先判断当前的速度的,如果小于当前设置的最小速度就设置用户最小的移动范围,如果大于当前设置的最小速度,就获取当前速度,如果变化超过10%。就设置用户当前速度浮动0.5,设置新的移动范围。这些其实都是活的,可以根据自己的需要进行设置。
- (void)adjustDistanceFilter:(CLLocation*)location{ // NSLog(@"adjust:%f",location.speed); if ( location.speed < self.minSpeed ) { if ( fabs(locationManage.distanceFilter-self.minFilter) > 0.1f ) { locationManage.distanceFilter = self.minFilter; } } else { CGFloat lastSpeed = locationManage.distanceFilter/self.minInteval; if ( (fabs(lastSpeed-location.speed)/lastSpeed > 0.1f) || (lastSpeed < 0) ) { CGFloat newSpeed = (int)(location.speed+0.5f); CGFloat newFilter = newSpeed*self.minInteval; locationManage.distanceFilter = newFilter; } }}
Demo http://download.csdn.net/detail/rpf2014/9692350
0 0
- iOS 不同需求下的定位
- 用Dreamweaver轻松实现不同分辨率下的层定位
- [IOS]IOS8下地图定位的使用方法
- iOS根据不同需求截取图片
- 不同需求影响架构的原理不同
- sql实现不同的需求
- 18.1.6 SHTTPD定位URI的需求
- 软件需求包括3个不同的层次 - 业务需求、用户需求和功能需求
- 软件需求包括3个不同的层次 - 业务需求、用户需求和功能需求 .
- 移动用户必然会有不同的需求
- 在ios 下获取 rootviewcontroller 的版本不同的问题
- svn下copy项目后定位到新资源库,产生不同版本号的方法
- iOS简单的定位
- iOS苹果的定位
- iOS平台下实现不同APP之间的通信
- iOS平台下实现不同APP之间的通信
- iOS平台下实现不同APP之间的通信
- iOS平台下实现不同APP之间的通信
- 测一测跟男友差几岁你最幸福?
- Android设置控件透明度
- ios导航栏操作
- iOS错误:解决用Xcode打开iPhone工程变成了My Mac的问题
- 目录树
- iOS 不同需求下的定位
- recyclerView 让其跟随软键盘
- Fast R-CNN论文详解
- C语言编程小感想
- S3C2440 NOR FLASH 地址对齐
- 网页输入框测试
- WCF基本概念
- 今天,开通CSDN微博,希望大家一起交流学习,共享知识
- zookeeper+solr搭建集群服务