- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想跟踪用户的位置并根据他的移动在离线 map 中更新它,而无需使用 GPS 且必须依赖位置更新。
我尝试了 CMMotionManager
并获得了 G 级的加速度
。然而,这是加速度而不是速度。管理器还允许获取重力、旋转和姿态。
有没有办法计算用户的速度(以米/秒为单位)?如果是这样,我该怎么办?有公式/代码示例吗?
最佳答案
执行此操作的唯一方法是假设应用程序启动时手机处于静止状态。使用加速度计无法区分静止状态和以恒定速率移动之间的区别。例如,如果您乘坐喷气式飞机,您将无法判断自己正在以 800 公里/小时的速度飞行并且没有静止不动。
如果您确实假设开始时处于静止状态,则可以通过跟踪加速度得出非常粗略的速度估计,但实际上,如果测量值很小,结果很容易出现大量“漂移误差”错误很快就会导致完全错误的当前速度结果,因此您的位置会毫无希望地漂移。
所以在实践中,你的问题的答案是“不,不是真的。”
再多思考一下,如果您可以施加一些假设,您也许可以获得有用的结果。
假设我们假设用户正在步行。我们排除骑自行车/汽车/火车/飞机旅行。步行时,你真的不会“漂移”。当用户采取步骤时,您会断断续续地移动。事实上,您可以使用加速度计来识别人行走时的弹跳特征。有些计步器应用程序已经可以做到这一点。对于步行,您可能会假设在没有加速度的情况下(忽略恒定的重力),手机是静止的,因此将速度归零并保持为零,直到加速度超过某个阈值。这将使您能够减少漂移误差。
关于ios - 使用 CoreMotion 跟踪用户速度,无需 GPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35013237/
我正在尝试使用 CoreMotion 获取设备加速。我有这个代码: 用于设置 if (motionManager == nil) motionManager = [[CMMotionM
我正在使用 CoreMotion 获取罗盘航向,我注意到罗盘航向存在一些问题。 首先我初始化了 CoreMotion。我得到了一个 CMMotionManager 对象 locationManager
以下是我在 vievDidLoad 中的代码 CMMotionManager *motionmanager = [[[CMMotionManager alloc]init]autorelease];
我试图使用内置加速度计在 x 轴上移动播放器,但出了点问题。当我在我的 iPhone 上模拟应用程序时,节点会向各个方向移动,只有在我关闭应用程序并再次启动它 2-3 次后,节点才会从左向右移动,这正
import UIKit import CoreMotion class ViewController: UIViewController { @IBOutlet weak var label
startDeviceMotionUpdatesUsingReferenceFrame CMAttitudeReferenceFrame 有什么区别 XArbitraryZVertical XArbi
我一直在我编写的应用程序中使用一些 CoreMotion(计步器)数据。早些时候,我授予了应用程序数据访问权限,一切运行良好。 现在我要编写请求用户许可的部分,但由于我已经授予了权限,所以对话框永远不
是否可以使用 CoreMotion 的数据计算 iPhone 移动时的高度差? 例如,保存 iPhone 的初始位置,然后移动 iPhone,从而得到新的位置。我有兴趣检测 iPhone 的高度是否从
借助最新 iOS 设备中的 M7 芯片,当用户使用 CMMotionActivityManager 从静止状态变为运行、步行等状态时,可以通过编程方式获得通知。 Stava 和 Runkeeper 都
在 iOS CoreMotion Framework 中,我可以设置加速度计、磁力计等的频率间隔,并以指定的间隔捕获数据。但文档中提到,最小和最大频率取决于设备的硬件。我怎么知道我可以提供的最小和最大
这是我所做的: motion_manager.startAccelerometerUpdates(to: OperationQueue.current! , withHandler: { (
我需要使用 Core Motion 获取用户在后台的事件。我通过将位置更新添加为后台模式并启用后台位置获取来实现此目标。但由于我对用户位置不感兴趣,这会导致电池浪费,并且会出现一个蓝色标志(iPhon
当在 iPhone 5S 上使用来自 M7 运动协处理器的数据时,我看到一些类让用户授予应用程序权限,(有点像他们对 GPS 使用或照片库所做的) 有谁知道哪些核心运动类要求用户允许运动访问,因为我想
我正在尝试编写一个简单的应用程序,让我可以使用 CoreMotion API 跟踪我在设定天数内的平均步行时间。 CMPedometer API 允许访问上次 session 的开始日期和结束日期。我
我想使用 CoreMotion(如果可能,不是 CoreLocation)计算指南针指向真北的航向。我找到了一些公式,但只有当手机平放在 table 上时才有效。谁能帮我找到一种计算罗盘航向的方法,它
在Info.plist中添加“Privacy - Motion Usage Description”后 我运行了它并且成功了,甚至在第一次运行时请求了许可,但我拒绝了许可,现在我卡住了,因为我找不到如
我正在注册以接收来自 CMMotionManager 的更新,如下所示: motionManager.startDeviceMotionUpdatesToQueue(deviceMotionQueue
是否可以使用 CoreMotion 计算小距离? 例如,用户向上或向下、向左和向右移动他的 iOS 设备并面向他面前的设备(横向)。 最佳答案 编辑 按照 promise 链接... https://
我正在制作类似增强现实应用程序的东西,其中我有一个 OpenGL 场景,无论 iOS 设备如何移动,我都希望它与重力保持一致。我以为我已经通过 CMDeviceMotion.attitude.pitc
Apple 的文档CMAttitudeReferenceFrame说一些引用系“可能需要移动设备来校准磁力计”但没有详细说明。 如何确定磁力计当前是否需要校准? 最佳答案 CMDeviceMotion
我是一名优秀的程序员,十分优秀!