Power Apps 中的 Acceleration、App、Compass、Connection 和 Location 訊號
適用於: 畫布應用 模型驅動應用
傳回應用程式環境的相關資訊,例如使用者位於世界上哪個位置和所顯示的畫面。
描述和語法
訊號是可隨時變更的值,不管使用者如何與應用程式互動。 基於訊號的公式會在這些值變更時自動重新計算。
訊號通常都會傳回資訊的記錄。 您可以使用此資訊並將其儲存為記錄,或者您可以使用 . 運算子摘錄個別的屬性。
注意
Acceleration 與 Compass 函式會傳回在 iOS 或 Android 等原生播放程式中的正確值,但是當您在瀏覽器中建立或修改應用程式時,這些函式會傳回零值。
加速
加速度訊號會傳回裝置相對於裝置畫面的三維加速度。 加速度的測量單位是 g,也就是 9.81 公尺/秒2 或 32.2 英呎/秒2(地球因為重力而施加在物體表面的加速度)。
屬性 | 描述 |
---|---|
加速度.X | 左右。 向右為正數。 |
加速度.Y | 前後。 向前為正數。 |
加速度.Z | 上下。 向上為正數。 |
應用程式
在其他屬性中,應用程式物件會包含指出當前顯示畫面的訊號。
屬性 | 描述 |
---|---|
App.ActiveScreen | 正在顯示的畫面。 傳回畫面物件,以供您參考畫面屬性,或與其他畫面比較以判斷要顯示哪一個畫面。 您可以使用 Back 或 Navigate 函式來變更顯示的畫面。 |
如需詳細資訊,請參閱應用程式物件 文件。
Compass
羅盤訊號會傳回畫面頂端的羅盤方位。 方位依據是磁北。
屬性 | 描述 |
---|---|
指南針航向 | 以度為單位的方位。 傳回 0 到 360 的數字,0 代表北方。 |
人脈
連線訊號會傳回網路連線的相關資訊。 在使用計量付費連線時,您可能會想要限制透過網路傳輸或接收的資料量。 或者,如果您的應用程式啟用了離線功能,您可能會想根據目前的同步處理狀態顯示不同的資訊。
屬性 | 名描述 |
---|---|
連接.已連接 | 傳回 true 或 false 的布林值,以指出裝置是否連線到網路。 |
連接.計量 | 傳回 true 或 false 的布林值,以指出此連線是否為計量付費連線。 |
連接.同步 | 傳回名為 ConnectionSync 的列舉,此列舉包含已啟用為離線功能之應用程式的目前同步處理狀態。 |
以下是可用於 Connection.Sync 的列舉值。
列舉值 | 名描述 |
---|---|
連接 | 您的裝置已連線至網路,您的應用程式已可開始離線作業 |
ConnectedWithWarning(已連接警告) | 您的裝置已連線,但出現警告。 |
已連接掛起同步 | 您裝置上的部分資料必須與服務同步。 |
連接錯誤 | 上次嘗試同步處理時發生錯誤。 |
ConnectedRefresh 刷新 | 您的應用程式目前正在與服務同步資料。 |
未連接 | 您的裝置未連線至服務。 |
NotConnectedWithWarning(不連接警告) | 上一次同步處理警告。 |
NotConnectedPendingUpsync | 您的裝置上有等待同步的更新。 |
NotConnectedSyncError 錯誤 | 上一次同步處理錯誤。 |
位置
位置訊號會根據全球定位系統(GPS),傳回裝置位置和其他裝置資訊,例如基地台通訊和 IP 位址。
當使用者首次存取位置資訊時,裝置可能會提示該使用者允許系統存取此資訊。
當位置變更時,對於位置的相依性會持續重新計算,因而會耗用裝置的電池電力。 若要節省電池用量,您可以使用 Enable 和 Disable 函式來開啟和關閉位置更新。 如果顯示的畫面不需依賴位置資訊,系統會自動關閉位置訊號。
屬性 | 描述 |
---|---|
位置.海拔 | 傳回數字來表示海平面之上的高度,測量單位為公尺。 |
位置.緯度 | 傳回 –90 到 90 的數字,表示從赤道起算的緯度,測量單位為度。 正數代表赤道北方的位置。 |
位置.經度 | 傳回 –180 到 180 的數字,表示從英國格林威治起算的經度,測量單位為度。 正數代表格林威治以東的位置。 |
範例
在棒球場上,一位棒球投手從投手丘上將手機投給位於本壘板的捕手。 手機平貼於地面飛行,畫面頂端朝向捕手,而且投手並未加上旋轉。 在這個位置,手機有計量付費的行動網路服務,但沒有 WiFi。 顯示的是 PlayBall 畫面。 該應用程式已啟用離線功能並已連線到該服務。
公式 | 名描述 | Result |
---|---|---|
位置.緯度 | 傳回目前位置的緯度。 棒球場位於地圖座標 47.591 N、122.333 W。 | 47.591 當球在投手和捕手之間移動時,緯度會一直變更。 |
位置.經度 | 傳回目前位置的經度。 | 122.333 當球在投手和捕手之間移動時,經度會一直變更。 |
位置 | 傳回目前位置的經緯度作為記錄。 | { 緯度:47.591,經度:122.333 } |
指南針航向 | 傳回畫面頂端的羅盤方位。 棒球場的本壘板大約位於投手丘的西南方。 | 230.25 |
加速度.X | 傳回裝置左右兩側的加速度。 投手投出手機的方向是畫面頂端的正前方,因此裝置左右兩側不會加速。 | 0 |
加速度.Y | 傳回裝置前後兩端的加速度。 投手一開始投出裝置時會給予裝置很大的加速度,半秒鐘內會從時速 0 加速到 90 英哩(每秒 132 英呎)。 裝置到達空中後,若不計空氣阻力,裝置並不會再加速。 當捕手接到裝置時,裝置會減速而停止。 | 8.2,在投手投出裝置時。 0,當裝置於空中飛行時。 -8.2,當捕手接到裝置時。 |
加速度.Z | 傳回裝置上下兩側的加速度。 於空中飛行時,裝置會受到重力影響。 | 0,在投手投出裝置前。 1,當裝置於空中飛行時。 0,在捕手接到裝置後。 |
加速度 | 傳回加速度作為記錄。 | { X: 0, Y: 264, Z: 0 } ,在投手投出裝置時。 |
連接.已連接 | 傳回布林值以指出裝置是否連線到網路 | 真 |
連接.計量 | 傳回布林值以指出此連線是否為計量付費連線 | 真 |
連接.同步 | 傳回表示目前同步處理狀態的列舉值。 | 連接同步.已連接 |
App.ActiveScreen = PlayBall | 傳回布林值以指出是否顯示 PlayBall。 | 真 |
App.ActiveScreen.Fill | 傳回所顯示畫面的背景色彩。 | 顏色.綠色 |