Power Apps 中的 Acceleration、App、Compass、Connection 和 Location 訊號

適用於: 畫布應用程式 模型導向應用程式

傳回應用程式環境的相關資訊,例如使用者位於世界上哪個位置和所顯示的畫面。

描述和語法

訊號是可隨時變更的值,不管使用者如何與應用程式互動。 基於訊號的公式會在這些值變更時自動重新計算。

訊號通常都會傳回資訊的記錄。 您可以使用此資訊並將其儲存為記錄,或者您可以使用 .運算子摘錄個別的屬性。

Note

AccelerationCompass 函式會傳回在 iOS 或 Android 等原生播放程式中的正確值,但是當您在瀏覽器中建立或修改應用程式時,這些函式會傳回零值。

加速

加速度訊號會傳回裝置相對於裝置畫面的三維加速度。 加速度的測量單位是 g,也就是 9.81 公尺/秒2 或 32.2 英呎/秒2(地球因為重力而施加在物體表面的加速度)。

屬性 描述
Acceleration.X 左右。 向右為正數。
Acceleration.Y 前後。 向前為正數。
Acceleration.Z 上下。 向上為正數。

應用程式

在其他屬性中,應用程式物件會包含指出當前顯示畫面的訊號。

屬性 描述
App.ActiveScreen 正在顯示的畫面。 傳回畫面物件,以供您參考畫面屬性,或與其他畫面比較以判斷要顯示哪一個畫面。 您可以使用 BackNavigate 函式來變更顯示的畫面。

如需詳細資訊,請參閱應用程式物件 文件。

Compass

羅盤訊號會傳回畫面頂端的羅盤方位。 方位依據是磁北。

屬性 描述
Compass.Heading 以度為單位的方位。 傳回 0 到 360 的數字,0 代表北方。

人脈

連線訊號會傳回網路連線的相關資訊。 在使用計量付費連線時,您可能會想要限制透過網路傳輸或接收的資料量。 或者,如果您的應用程式啟用了離線功能,您可能會想根據目前的同步處理狀態顯示不同的資訊。

屬性 描述:
Connection.Connected 傳回 truefalse 的布林值,以指出裝置是否連線到網路。
Connection.Metered 傳回 truefalse 的布林值,以指出此連線是否為計量付費連線。
Connection.Sync 傳回名為 ConnectionSync 的列舉,此列舉包含已啟用為離線功能之應用程式的目前同步處理狀態。

以下是可用於 Connection.Sync 的列舉值。

列舉值 描述:
Connected 您的裝置已連線至網路,您的應用程式已可開始離線作業
ConnectedWithWarning 您的裝置已連線,但出現警告。
ConnectedPendingUpsync 您裝置上的部分資料必須與服務同步。
ConnectedError 上次嘗試同步處理時發生錯誤。
ConnectedRefresh 您的應用程式目前正在與服務同步資料。
NotConnected 您的裝置未連線至服務。
NotConnectedWithWarning 上一次同步處理警告。
NotConnectedPendingUpsync 您的裝置上有等待同步的更新。
NotConnectedSyncError 上一次同步處理錯誤。

位置

位置訊號會根據全球定位系統(GPS),傳回裝置位置和其他裝置資訊,例如基地台通訊和 IP 位址。

當使用者首次存取位置資訊時,裝置可能會提示該使用者允許系統存取此資訊。

當位置變更時,對於位置的相依性會持續重新計算,因而會耗用裝置的電池電力。 若要節省電池用量,您可以使用 EnableDisable 函式來開啟和關閉位置更新。 如果顯示的畫面不需依賴位置資訊,系統會自動關閉位置訊號。

屬性 描述
Location.Altitude 傳回數字來表示海平面之上的高度,測量單位為公尺。
Location.Latitude 傳回 –90 到 90 的數字,表示從赤道起算的緯度,測量單位為度。 正數代表赤道北方的位置。
Location.Longitude 傳回 –180 到 180 的數字,表示從英國格林威治起算的經度,測量單位為度。 正數代表格林威治以東的位置。

範例

在棒球場上,一位棒球投手從投手丘上將手機投給位於本壘板的捕手。 手機平貼於地面飛行,畫面頂端朝向捕手,而且投手並未加上旋轉。 在這個位置,手機有計量付費的行動網路服務,但沒有 WiFi。 顯示的是 PlayBall 畫面。 該應用程式已啟用離線功能並已連線到該服務。

公式 描述: Result
Location.Latitude 傳回目前位置的緯度。 棒球場位於地圖座標 47.591 N、122.333 W。 47.591

當球在投手和捕手之間移動時,緯度會一直變更。
Location.Longitude 傳回目前位置的經度。 122.333

當球在投手和捕手之間移動時,經度會一直變更。
Location 傳回目前位置的經緯度作為記錄。 { 緯度:47.591,經度:122.333 }
Compass.Heading 傳回畫面頂端的羅盤方位。 棒球場的本壘板大約位於投手丘的西南方。 230.25
Acceleration.X 傳回裝置左右兩側的加速度。 投手投出手機的方向是畫面頂端的正前方,因此裝置左右兩側不會加速。 0
Acceleration.Y 傳回裝置前後兩端的加速度。 投手一開始投出裝置時會給予裝置很大的加速度,半秒鐘內會從時速 0 加速到 90 英哩(每秒 132 英呎)。 裝置到達空中後,若不計空氣阻力,裝置並不會再加速。 當捕手接到裝置時,裝置會減速而停止。 8.2,在投手投出裝置時。

0,當裝置於空中飛行時。

-8.2,當捕手接到裝置時。
Acceleration.Z 傳回裝置上下兩側的加速度。 於空中飛行時,裝置會受到重力影響。 0,在投手投出裝置前。

1,當裝置於空中飛行時。

0,在捕手接到裝置後。
加速 傳回加速度作為記錄。 { X: 0, Y: 264, Z: 0 } ,在投手投出裝置時。
Connection.Connected 傳回布林值以指出裝置是否連線到網路 true
Connection.Metered 傳回布林值以指出此連線是否為計量付費連線 True
Connection.Sync 傳回表示目前同步處理狀態的列舉值。 ConnectionSync.Connected
App.ActiveScreen = PlayBall 傳回布林值以指出是否顯示 PlayBall true
App.ActiveScreen.Fill 傳回所顯示畫面的背景色彩。 Color.Green