Table of Contents

MegaTracker 傳感器外部控制

默認情況下,MegaTracker 會自動管理加速度計和 GNSS 數據的監聽接口。但在某些複雜應用場景中,開發者可能需要手動控制這些接口的開啓和關閉,以實現更精細的功耗管理或權限控制。

開始之前

外部控制約束邏輯

在 session 創建 MegaTrackerConfigs 時,可以通過 MegaTrackerSensorOptions 配置傳感器的監聽接口。

參數名 類型 默認值 說明
isAcceExternalControl boolean false 加速度計是否由外部(開發者)控制。
isGeoExternalControl boolean false GNSS 數據是否由外部(開發者)控制。
提示

適用場景:如果您的應用除了 Mega 功能外,本身不直接訂閱傳感器數據,建議保持默認值 false,由 Mega 自動處理。

當上述參數設置爲 true 時,開發者必須嚴格遵守以下調用順序:

  • 啓動流程

在調用 start(options) 之前,必須確保已手動開啓對應的傳感器監聽:

在調用 stop() 之後,方可關閉對應的傳感器監聽:

注意

衝突警告:若設置爲 false(Mega 託管),不能在 Session 運行期間調用微信原生的停止傳感器接口,否則會導致數據中斷。

const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
    isAcceExternalControl: false,
    isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
    access: apiKeyAccess,
    options: megaTrackerSensorOptions
};

session = megaComponent.createSession(megaTrackerConfigs);

這個例子演示瞭如何外部控制開啓和關閉微信地理位置數據監聽,在調用 start(options)之前,需要調用 wx.startLocationUpdate 以開啓微信地理位置數據監聽。