首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
CLLocation
时间:
2016-05-12 16:15:05
阅读:
124
评论:
0
收藏:
0
[点我收藏+]
标签:
1、//新的方法,登陆成功之后(旧的方法就不管了)
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations
//locationManager:didUpdateLocations:(调用很频繁)
//更新位置的方法之后就调用这个方法,数组中是按照时间的先后顺序,即为将旧的和新的位置放在数组中
2、//与之对应的 登陆失败之后的调用,定位失败了之后
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error;
问题1、
发现有的时候更新位置的时候我们停止了相应的更新方法,但是还是打印出两个或者三个更行的位置。
2015-08-14 17:23:09.285 mylocation[450:209668] location is :<+22.52849988,+113.93162929> +/- 65.00m (speed -1.00 mps / course -1.00) @ 15/8/14 中国标准时间下午5:23:08
2015-08-14 17:23:09.285 mylocation[450:209668] location is :<+22.52849988,+113.93162929> +/- 65.00m (speed -1.00 mps / course -1.00) @ 15/8/14 中国标准时间下午5:23:08
更新的代码为:
#pragma mark CLLocationManagerDelegate
//定位成功
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *location = [locations lastObject];
NSLog(@" location is :%@ ",location.description);
[self.locationManager stopUpdatingLocation];
}
那是因为,我们将 [self.locationManager stopUpdatingLocation];放在了输出相应的信息之后,当我们停止定位的时候需要一定的时间,这段时间内系统又重新定位了一次或则多次,所以应该停止定位之后再输出,这样就可以只是输出当前的一次更新信息。
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
[self.locationManager stopUpdatingLocation];//先停止定位
CLLocation *location = [locations lastObject];
NSLog(@" location is :%@ ",location.description);
}
问题2、用模拟器定位失败
2015-08-14 17:17:17.455 mylocation[2953:98656] Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
//定位失败之后显示的信息。
解决方法:
1.确定模拟器(手机)已经联网并且允许程序获取地理位置
2.重置地理位置服务或者网络服务
PS:如果是模拟器就果断直接重置模拟器吧 IOS Simulator - Reset Content and Settings..。
这样就重新设置模拟器,模拟器就是初始化的状态。
//方向的更新
- (void)locationManager:(CLLocationManager *)manager
didUpdateHeading:(CLHeading *)newHeading;
//用于判断是否显示方向的校对,返回yes的时候,将会校对正确之后才会停止,或者dismissheadingcalibrationdisplay方法解除。
- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager;
- (void)locationManager:(CLLocationManager *)manager
didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region;
- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region;
- (void)locationManager:(CLLocationManager *)manager
rangingBeaconsDidFailForRegion:(CLBeaconRegion *)region
withError:(NSError *)error ;
//进入指定区域
- (void)locationManager:(CLLocationManager *)manager
didEnterRegion:(CLRegion *)region ;
//离开指定的区域
- (void)locationManager:(CLLocationManager *)manager
didExitRegion:(CLRegion *)region;
//定位失败
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error;
//区域定位失败
- (void)locationManager:(CLLocationManager *)manager
monitoringDidFailForRegion:(CLRegion *)region
withError:(NSError *)error ;
//改变里授权的状态
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status ;
//开始控制指定的区域
- (void)locationManager:(CLLocationManager *)manager
didStartMonitoringForRegion:(CLRegion *)region;
//已经停止位置的更更新
- (void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager ;
//位置定位重新开始定位位置的更新
- (void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager ;
//已经完成了推迟的更新
- (void)locationManager:(CLLocationManager *)manager
didFinishDeferredUpdatesWithError:(NSError *)error;
//就是已经访问过的位置,就会调用这个表示已经访问过,这个在栅栏或者定位区域都是使用到的
- (void)locationManager:(CLLocationManager *)manager didVisit:(CLVisit *)visit;
@end
CLLocation
标签:
原文地址:http://blog.csdn.net/qsh18968155492/article/details/51361629
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!