【问题标题】:How to determine device location using CoreMotion framework?如何使用 CoreMotion 框架确定设备位置?
【发布时间】:2017-03-21 09:16:13
【问题描述】:

例如:应用程序正在运行并且我们初始化了起始坐标(x=0, y=0, z=0)并且坐标系在启动时等于设备坐标系,然后它必须固定,即不附加到设备上。我想在MotionManager 事件像这样触发的每一刻确定x, y, z

motionManager.startDeviceMotionUpdates(to: OperationQueue.current!) { data, error in
    x = ...
    y = ...
    z = ...
}

但我不知道该怎么做。

提前致谢!

【问题讨论】:

    标签: ios swift core-motion


    【解决方案1】:

    像这样使用它:

    motionManger.startDeviceMotionUpdates(to: OperationQueue.current!) { (deviceMotion, deviceMotionError) in
                self.handleDeviceMotionUpdates(deviceMotion!)
    }
    
    func handleDeviceMotionUpdates(_ deviceMotion: CMDeviceMotion){
    
       let acceleration = deviceMotion.gravity
       print("Acceleration X>\(acceleration.x) Y>\(acceleration.y) Z>\(acceleration.z)\n")
    
       let userAcceleration = deviceMotion.userAcceleration
       print("User Acceleration X>\(userAcceleration.x) Y>\(userAcceleration.y) Z>\(userAcceleration.z)\n")
    }
    

    【讨论】:

    • 谢谢,但我想要精确的公式来确定 x、y、z 而不仅仅是打印出来。
    • 只要在你想使用的地方使用acceleration.xacceleration.yacceleration.z。它会给你 x、y、z 值。
    • 抱歉,您没有直接回答我的问题。
    • 没问题。干杯。
    猜你喜欢
    • 1970-01-01
    • 2019-02-24
    • 2012-12-15
    • 2013-01-06
    • 2014-07-23
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多