我在使用Mapkit和CoreLocation框架的应用程序中使用此代码已有好几年了:
if ((abs(howRecent) < 5.0) && ((newLocation.horizontalAccuracy > 0.0f &&
newLocation.horizontalAccuracy < 150.0f)) )
但是,由于以下原因,我有了第二个想法:
位置感知编程指南第14页仅提供此检查:
if(abs(howRecent)&lt; 15.0){
即使编程指南位于CLLocation类定义中,编程指南也未提及水平精度
通过检查准确性和时间,我是否过于谨慎? 我会很感激你的意见,即使它运作良好,如果我的代码抛出一些有效的位置更新,我也不会知道。 顺便说一句,我的应用程序支持ios 4.3到6,我从版本3编写并在版本4上更新了它。 感谢您的回复。
答案 0 :(得分:1)
我建议你研究以下内容:
- (void)locationManager:(CLLocationManager*)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *loc2 = [[CLLocation alloc] init];
loc2 = [locations lastObject];
然后你只处理报告的最后一个位置。 如果您需要特定的水平精度 - 那么也要检查