Skip to content

羅盤

startCompass

TIP

該API使用方法為: wx.startCompass(Object object)

  • 功能說明: 開始監聽羅盤數據

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.startCompass()

stopCompass

TIP

該API使用方法為: wx.stopCompass(Object object)

  • 功能說明: 停止監聽羅盤數據

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.stopCompass()

onCompassChange

TIP

該API使用方法為: wx.onCompassChange(function callback)

  • 功能說明: 監聽羅盤數據變化事件。 頻率:5次/秒,接口調用後會自動開始監聽,可使用 wx.stopCompass 停止監聽。

  • 參數及說明: function callback, 羅盤數據變化事件的回呼函數。 參數Object res如下:

    内容類型說明
    directionnumber面對的方向度數
    accuracynumber/string精度
  • 示例代碼:

js
wx.onCompassChange(function (res) {  
    console.log(res.direction)
})
  • accuracy在iOS/Android的差异: 由於平臺差异,accuracy在iOS/Android的值不同

  • iOS: accuracy是一個number類型的值,表示相對於磁北極的偏差。 0表示設備指向磁北,90表示指向東,180表示指向南,依此類推

  • Android: accuracy是一個string類型的枚舉值

    說明
    high高精度
    medium中等精度
    low低精度
    no-contact不可信,感測器失去連接
    unreliable不可信,原因未知
    unknow ${value}未知的精度枚舉值,即該Android系統此時返回的表示精度的value不是一個標準的精度枚舉值

offCompassChange

TIP

該API使用方法為: wx.offCompassChange(function listener)

  • 功能說明: 移除羅盤數據變化事件的監聽函數

  • 參數及說明: function listener,onCompassChange傳入的監聽函數。 不傳此參數則移除所有監聽函數

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

wx.onCompassChange(listener)
wx.offCompassChange(listener) // Pass the same function object used for listening.