Automate で現在地を取得する方法についてまとめました。
環境 : Android 9.0, Automate Version 1.23.1
現在地取得
今回紹介するのは Location :: Location get ブロックです。
現在地の座標等を取得し変数に入れます。
このブロックを利用するにはGPSを有効にする必要があります。
Options オプション
Proceed
いつ処理が進行するか
- Maybe immediately - 新しく現在地の取得ができたら処理される
- When change - 既知の現在地から、最小でも
Minimum distance
だけ移動するまで処理が一時停止する。
Input arguments 入力引数
Location provider
位置情報取得の方法。詳しくはAndroid自体の仕様の話になると思うので検索してください。
Balanced:デフォルト / GPS / High accuracy / Low power / Network / No power / Passive
Maximum fix age
Maybe immediately オプションで利用。よくわからんがデフォルトのまま or 0 でよい。
Minimum distance
When change オプションで利用。ここで設定した距離 (m) 移動するまで処理が一時停止する
Output variables 出力変数
Location fix latitude
緯度を代入する変数
Location fix longitude
経度を代入する変数
Location fix altitude (m)
高度を代入する変数。ただし非常に不正確。高度情報が利用できない場合はnull
が入る
Location fix bearing (º)
方位を代入する変数。方位情報が利用できない場合はnull
Location fix speed (m/s)
速度を代入する変数。速度情報が利用できない場合はnull
Location fix accuracy (m)
推定の精度情報を代入する変数。精度情報が利用できない場合はnull
Location fix timestamp
位置情報が取得された時のUNIXタイムスタンプを代入する変数。
Location fix provider
位置情報の取得方法。
使用例
dateFormat関数を利用しています。
Flow beginning{} Location::Location get{ Proceed : Maybe immediately Location provider : Balanced Maximum fix age = 0 Location fix latitude : lat Location fix longitude : lng Location fix timestamp : ts } Interface::Dialog message{ Title : 現在地 Message = lat ++ "\n" ++ lng ++ "\n" ++ dateFormat(ts) Show_window : true }
フローを起動すると
このように表示されます。