微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iPhone CLLocationManager每0.5秒更新一次

如何解决iPhone CLLocationManager每0.5秒更新一次

| 对于需要根据GPS进行大量计算的应用,我需要每0.5秒获取一次纬度/经度和速度,这样才能非常准确并避免延迟。 我在用:
[locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
- locationManager:didUpdatetoLocation:fromLocation:
函数将值存储在3个变量中:
newLatitude
newLongitude
newSpeed
0.55ѭ对象,每0.5秒调用一次函数。 参见下面的图表,该图表由Excel生成,代表18秒内的纬度值: 我们可以清楚地看到我们每秒都有一次位置更新,而不是期望的每0.5秒更新一次。我在办公室周围进行样品采样,因此速度在0到65 MPH之间变化。因此,当我以50MPH的速度行驶时,应该每0.5s从iPhone获得不同的纬度/经度/速度值,对吗? 如果您对
CLLocationManager
物体的精度有所了解,请告诉我如何每0.5秒获取一次位置更新。 谢谢!     

解决方法

您无法告诉位置管理器您希望多久更新一次,而只能在它选择给您更新时作出响应。无法确定获取更新的时间,这取决于查找WiFi信号和GPS信号的难易程度。     ,
[self.locationManager startUpdatingLocation];
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self     selector:@selector(myTimerFunc) userInfo:nil repeats:YES];

- (void)myTimerFunc
{
    CLLocation location = self.locationManager.location;
    // do work here //
}

 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    // do nothing here //
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。