我正在尝试将GPS功能添加到我的iPhone应用程序中.这是一个锻炼应用程序,将在步行或跑步时使用.所以我想用GPS来显示人在Mph和分钟/英里的移动速度.
我应该如何配置CLLocationManager以获得最佳结果?我该怎么设置理想的精度和距离过滤?
我尝试过:
distanceFilter = 10和desiredAccuracy = kCLLocationAccuracyNearestTenMeters
和阅读
CLLocation.speed属性
虽然需要一段时间才能更新,但在车内行驶时进行测试时,与汽车车速表相比,准确性似乎很好.我意识到更新延迟可能是查询GPS位置所需的时间,但我不确定更改上述两个参数是否会产生更好的结果.
我应该使用kCLLocationAccuracyBest和distanceFilter的其他值吗?
我很想听到其他人使用CoreLocation来获得速度.你在做什么来获得更准确的结果?
为获得最佳效果,您应该使用kCLLocationAccuracyBest.您放入距离滤波器的内容取决于您愿意放置哪些故障.基本上,您将不得不根据准确性与可用性做出决策.也就是说,在没有最佳准确答案的期间,您会展示什么?
一种方法是让手机提供不太准确的答案,并使用最后一次获得最准确信息时所发生的事情的预测,看看你的内容是否合理.
也就是说,假设我以6英里/小时的速度向北方慢跑.你沿着A点,B点,C点画我...然后你得到一个低精度的答案(也许是kCLLocationAccuracyNearest100Meters.)看看它说我的地方并弄清楚"我能不能得到那个如果我继续沿着当前的路径从点C开始,对可能的速度变化做出合理的调整?" 如果是这样,那么新点就在可能性范围内.(如果不是,那就扔掉它.)然后以我最后已知的速度从C点投射并找出你认为我可能在哪里,弹道.保存为弹道点D.
当然,你正在使用加速度计来获得某种惯性感,我走哪条路,对吧?所以,你无法知道方向(你不知道手机的指向是什么方式),但是你可以在远处做出合理的刺伤.
使用所有这些信息,绘制您认为我可能在哪里的最可能的位置.
注意:测试时,不要只在良好的小区覆盖范围内驾驶.了解您的应用如何在山区远离手机.很多人喜欢骑自行车和慢跑这些地区!