gpt4 book ai didi

ios - 如何在Swift中计算 "pure"移动距离?

转载 作者:行者123 更新时间:2023-11-30 13:26:33 25 4
gpt4 key购买 nike

我编写了计算总行驶距离的应用程序。但我想让这个值更不准确。

我的问题是,当我不动时,位置管理器总是更新位置并添加到我的总距离〜每秒1...2米水平精度为10.0。如果我停留/步行/停留,这个距离每“站立”分钟就会增加 60...100 米。这对我来说很糟糕。

我可以使用 Core Motion 框架停止更新位置,并使用 CMMotionManager 检测 x、y、z 轴的变化。当我走路时,这将起作用。但当我开车时,设备不会改变 x、y、z 轴。

如何计算“纯”移动距离?

最佳答案

声明pedomter的属性

@property (nonatomic, strong) CMPedometer *pedometer;

像这样初始化目前,包含运动传感器芯片的 iPhone 5s 及以上设备支持这些功能

 if ([CMPedometer isStepCountingAvailable]) {

self.pedometer = [[CMPedometer alloc] init];
}
else {

UIAlertView * alertView=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Distance calculation is not available on this device!" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alertView show];
}

最后在这个处理程序中获取数据

[self.pedometer startPedometerUpdatesFromDate:[NSDate date]
withHandler:^(CMPedometerData *pedometerData, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{

NSLog(@"data:%@, error:%@", pedometerData, error);
NSLog(@"distance:%@, pedometerData.distance);
NSLog(@"Steps:%@", pedometerData.numberOfSteps);

});
}];

不要忘记导入 coremotion 框架

关于ios - 如何在Swift中计算 "pure"移动距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com