nativescript-coremotion
NativeScript 的 iOS Core Motion 插件
npm i --save nativescript-coremotion

NativeScript Core Motion 插件

NativeScript 的 Core Motion 插件

安装

tns plugin add nativescript-coremotion

用法

var Coremotion = require('nativescript-coremotion');

加速度计

isAccelerometerAvailable()

将返回一个布尔值,指示当前设备是否支持加速度计。

Coremotion.isAccelerometerAvailable()

isAccelerometerActive()

将返回一个布尔值,指示 Core Motion 是否目前正在返回加速度计数据。

Coremotion.isAccelerometerActive()

setAccelerometerUpdateInterval()

接受一个数字,允许更改以秒为单位的更新间隔。

Coremotion.setAccelerometerUpdateInterval(.2);

startAccelerometerUpdates()

接受一个回调,返回以下加速度

{x, y, z}

Coremotion.startAccelerometerUpdates(callback);

stopAccelerometerUpdates()

停止 Core Motion 发送加速度计更新。

Coremotion.stopAccelerometerUpdates()

陀螺仪

isGyroscopeAvailable()

将返回一个布尔值,指示当前设备是否支持陀螺仪。

Coremotion.isGyroscopeAvailable()

isGyroscopeActive()

将返回一个布尔值,指示 Core Motion 是否目前正在返回陀螺仪数据。

Coremotion.isGyroscopeActive()

setGyroscopeUpdateInterval()

接受一个数字,允许更改以秒为单位的更新间隔。

Coremotion.setGyroscopeUpdateInterval(.2);

startGyroscopeUpdates()

接受一个回调,返回以下旋转率

{x, y, z}

Coremotion.startGyroscopeUpdates(callback);

stopGyroscopeUpdates()

停止 Core Motion 发送陀螺仪更新。

Coremotion.stopGyroscopeUpdates()

磁力计

isMagnetometerAvailable()

将返回一个布尔值,指示当前设备是否支持磁力计。

Coremotion.isMagnetometerAvailable()

isMagnetometerActive()

将返回一个布尔值,指示 Core Motion 是否目前正在返回磁力计数据。

Coremotion.isMagnetometerActive()

setMagnetometerUpdateInterval()

接受一个数字,允许更改以秒为单位的更新间隔。

Coremotion.setMagnetometerUpdateInterval(.2);

startMagnetometerUpdates()

接受一个回调,返回以下磁场

{x, y, z}

Coremotion.startMagnetometerUpdates(callback);

stopMagnetometerUpdates()

停止 Core Motion 发送磁力计更新。

Coremotion.stopMagnetometerUpdates()

设备运动

isDeviceMotionAvailable()

将返回一个布尔值,指示当前设备是否支持设备运动。

Coremotion.isDeviceMotionAvailable()

isDeviceMotionActive()

将返回一个布尔值,指示 Core Motion 是否目前正在返回设备运动数据。

Coremotion.isDeviceMotionActive()

setDeviceMotionUpdateInterval()

接受一个数字,允许更改以秒为单位的更新间隔。

Coremotion.setDeviceMotionUpdateInterval(.2);

startDeviceMotionUpdates()

接受一个回调,返回以下

attitude: {pitch, roll, yaw},

gravity: {x, y, z},

userAcceleration: {x, y, z},

magneticField: { accuracy, field: {x, y, z} },

rotationRate: {x, y, z}

Coremotion.startDeviceMotionUpdates(callback);

stopDeviceMotionUpdates()

停止 Core Motion 发送设备运动更新。

Coremotion.stopDeviceMotionUpdates()

高度计

isRelativeAltitudeAvailable()

将返回一个布尔值,指示当前设备是否支持相对高度。

Coremotion.isRelativeAltitudeAvailable()

isRelativeAltitudeActive()

将返回一个布尔值,指示 Core Motion 是否目前正在返回相对高度数据。

Coremotion.isRelativeAltitudeActive()

startRelativeAltitudeUpdates()

接受一个回调,返回以下

{pressure, relativeAltitude}

Coremotion.startRelativeAltitudeUpdates(callback);

stopDeviceMotionUpdates()

停止 Core Motion 发送相对高度更新。

Coremotion.stopRelativeAltitudeUpdates()

注意事项

插件仅适用于 iOS,因为 Android 上不存在 Core Motion。

插件需要 NativeScript 2.3.0 或更高版本,因为它是基于那个版本工作的。

插件已针对 iOS 10 和 Xcode 8 进行测试。

存在一个名为 nativescript-accelerometer 的现有插件,它仅公开了 Core Motion 的一小部分功能,如果命名空间允许,会向它提交 PR。

isXYZActive() 在此时不会重新查询 Core Motion,而只是返回插件中设置的布尔值。

保修

没有保修。您接受由此带来的任何和所有责任和义务。此外,如果您使用此插件并且有人因此起诉我,您同意支付我的法律费用。