如何检查 CLLocation 对象并决定是要使用它还是丢弃结果并获取新的位置更新?
我在 CLLocation 上看到了时间戳属性,但我不确定如何将其与当前时间进行比较。
另外,在我比较时间并发现以秒为单位的差异之后,差异应该在什么值以下才能使用该 CLLocation 对象?什么是好的门槛。
Thanks!
检查时间戳确实很重要,因为 iOS 通常会缓存位置,并作为第一个措施返回最后缓存的位置,因此以下是我在 Core Location Manager 的委托方法中执行的操作:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
CLLocation * newLocation = [locations lastObject];
//check if coordinates are consistent
if (newLocation.horizontalAccuracy < 0) {
return;
}
NSTimeInterval interval = [newLocation.timestamp timeIntervalSinceNow];
//check against absolute value of the interval
if (abs(interval)<30) {
//DO STUFF
}
}
我用的是30秒。
正如您所看到的,我还检查了询问水平精度的结果的一致性。
希望这可以帮助,
Andrea
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)