跳转到正文

@capgo/capacitor-compass

读取设备指南针航向角(度),支持持续更新和权限处理

读取设备指南针航向角(度),支持持续更新和权限处理

从这里开始 getCurrentHeading() 以及下方列出的其他核心方法。

平台支持备注
iOS是原生
Android是原生
Web 端否使用 Capacitor.getPlatform() 做保护
  • getCurrentHeading - 获取当前指南针航向角度。在 iOS 上,航向会在后台更新并返回最新值。在 Android 上,调用该方法时会通过加速度计和磁力计传感器计算航向。Web 端暂未实现。
  • startListening - 开始通过事件监听指南针航向变化。这会启动指南针传感器并触发 ‘headingChange’ 事件。
  • stopListening - 停止监听指南针航向变化。这会停止指南针传感器并停止触发事件。
  • checkPermissions - 检查访问指南针数据的当前权限状态。在 iOS 上,这会检查位置权限状态。在 Android 上,由于不需要权限,该方法始终返回 ‘granted’。
方法描述
getCurrentHeading获取当前指南针航向(单位:度)。在 iOS 上,航向会在后台更新并返回最新值。在 Android 上,调用该方法时会通过加速度计和磁力计传感器计算航向。Web 端未实现。
getPluginVersion获取原生 Capacitor 插件版本。
startListening开始通过事件监听指南针航向变化。这会启动指南针传感器并触发 ‘headingChange’ 事件。
stopListening停止监听指南针航向变化。这会停止指南针传感器并停止触发事件。
addListener为指南针航向变化事件添加监听器。
addListener为指南针精度变化事件添加监听器。仅在 Android 上支持。在 iOS 和 Web 上,该监听器永远不会触发事件。
removeAllListeners移除该插件的所有监听器。
checkPermissions检查当前访问指南针数据的权限状态。在 iOS 上,这会检查位置权限状态。在 Android 上,由于不需要权限,此方法始终返回 ‘granted’。
requestPermissions请求访问指南针数据的权限。在 iOS 上,这会请求位置权限(获取航向数据所必需)。在 Android 上,由于不需要权限,此请求会立即完成。
watchAccuracy开始监测指南针精度。在 Android 上,这会监测磁力计精度并触发 accuracyChange 事件。开发者可以监听这些事件,并自行实现校准提示 UI。在 iOS 和 Web 上,由于无法监测指南针精度,此方法不会执行任何操作。
unwatchAccuracy停止监测指南针精度。此操作会停止精度监测。
getAccuracy获取当前指南针精度等级。在 Android 上,返回当前磁力计传感器的精度。在 iOS 和 Web 上,由于无法进行精度监测,始终返回 CompassAccuracy.UNKNOWN。

此参考文档同步自 src/definitions.ts 中的 capacitor-compass.

如果你正在使用 @capgo/capacitor-compass 要规划原生插件工作,请将其与 使用 @capgo/capacitor-compass 在使用 @capgo/capacitor-compass 时,调用原生能力: Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。