Как получить местоположение или положение устройства из значения userAcceleration, используя движение ядра в Swift - PullRequest
0 голосов
/ 25 мая 2020

Основное движение Swift имеет userAcceleration.

Поскольку userAcceleration указывает на ускорение, невозможно получить информацию о местоположении устройства.

Я думаю, что для преобразования ускорения в положение вы можете выполнить интеграцию второго порядка. Но как вы можете выполнить интеграцию второго порядка в Swift?

Ниже приведен код для получения данных о движении ядра.

let motionManager = CMMotionManager()

func startSensorUpdates(intervalSeconds:Double) {
    if motionManager.isDeviceMotionAvailable{
        motionManager.deviceMotionUpdateInterval = intervalSeconds

        motionManager.startDeviceMotionUpdates(to: OperationQueue.current!, withHandler: {(motion:CMDeviceMotion?, error:Error?) in
            self.getMotionData(deviceMotion: motion!)

        })
    }
}

// get motion data
func getMotionData(deviceMotion:CMDeviceMotion) {
    print("attitudeX:", deviceMotion.attitude.pitch)
    print("attitudeY:", deviceMotion.attitude.roll)
    print("attitudeZ:", deviceMotion.attitude.yaw)
    print("gyroX:", deviceMotion.rotationRate.x)
    print("gyroY:", deviceMotion.rotationRate.y)
    print("gyroZ:", deviceMotion.rotationRate.z)
    print("gravityX:", deviceMotion.gravity.x)
    print("gravityY:", deviceMotion.gravity.y)
    print("gravityZ:", deviceMotion.gravity.z)
    print("accX:", deviceMotion.userAcceleration.x)
    print("accY:", deviceMotion.userAcceleration.y)
    print("accZ:", deviceMotion.userAcceleration.z)
}

https://qiita.com/FollowTheDarkside/items/d16870a6535bdb5cb1f0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...