首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过CLLocationManager或GoogleMap-IOS跟踪用户旅行的距离

通过CLLocationManager或GoogleMap-IOS跟踪用户旅行的距离
EN

Stack Overflow用户
提问于 2014-08-04 12:40:38
回答 1查看 1.6K关注 0票数 2

我使用GoogleMap-IOS-1.8.1SDK来显示地图。我必须计算使用者的步行距离。在搜索之后,我将尝试使用CLLocationManager's方法-

代码语言:javascript
运行
复制
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

double new_travelled_distance = [newLocation distanceFromLocation:oldLocation];
total_distanceTravelled_by_user += new_travelled_distance;  }

像这样初始化-

代码语言:javascript
运行
复制
-(void)viewDidLoad{

[super viewDidLoad];

if(!locationManager)
{
    locationManager = [[CLLocationManager alloc] init];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
    [locationManager setDelegate:self];
    [locationManager setDistanceFilter:5.0f];         // measured in meters
    [locationManager setHeadingFilter:kCLHeadingFilterNone];            // measured in degrees
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
}
[locationManager startUpdatingLocation];   }

但这并不提供准确的数据,即使我坐在同一个地方,没有旅行一米,但它给我定期更新,以改变位置。我是否应该更正“CLLocationManager's distanceFilter”属性,或者如何更准确地计算旅行距离.?

EN

Stack Overflow用户

发布于 2014-08-04 12:53:51

这是因为您将期望的精度设置为kCLLocationAccuracyBestForNavigation。把那条线移开。此外,标题的默认值设置为1,这是相当准确的。不要将其设置为kCLHeadingFilterNone

这将防止定期更新,你将得到它只有当你将移动5米。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25118927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档