5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power Appsキャンバスアプリで移動ルートを表示する方法

Last updated at Posted at 2023-10-15

こんにちは。今回はアプリで現在地を取得し、移動したルートを取得する方法をご説明します。

こちらではマップコントロールを使います。

環境の設定

まず、マップコントロールでルーティング(地点と地点をつなぐ表示)をする場合は環境の地理空間機能を有効にする必要があります。

環境の地理空間機能を有効にする設定はこちらを参考にして下さい。

アプリ側での設定

記録開始ボタンを押してから記録終了ボタンを押すまでの間で2秒ごとに現在地を取得し、ルートを表示するように作っていきます。

まずボタンの設定をしていきます。

ボタンコントロールの設定

2つボタンを作成します。
記録開始ボタンの「Onstart」プロパティに以下の関数を設定します。ボタンを押したときにコンテキスト変数「recordstart」を「true」に設定し、この「recordstart」を基準にして、現在地取得をしていきます。

UpdateContext({
    recordstart:true
})

image.png

記録終了ボタンボタンの「Onstart」プロパティに以下の関数を設定します。コンテキスト変数「recordstart」を「false」に設定します。

UpdateContext({recordstart:false})

image.png

タイマーコントロールの設定

次に時間ごとに現在地取得の処理を行うためにタイマーコントロールを設定していきます。
image.png

処理を繰り返すためにタイマーコントロールの「Repeat」プロパティに「true」を入れます。

true

image.png

2秒ごとに処理を行いたい為、タイマーコントロールの「Duration」プロパティに「2000」を入力します。

2000

image.png

「recordstart」が「true」の間に設定した時間(2秒)が過ぎたら、現在地の情報を取得し、コレクションMyCol2にデータをためます。
タイマーコントロールの「OnTimeEnd」プロパティに以下の関数を入れます。

If(recordstart,Collect(MyCol2,{緯度:Location.Latitude, 経度:Location.Longitude}))

image.png

タイマーコントロールの「Start」プロパティに変数の「recordstart」を入れます。
「recordstart」が「true」になったらスタートします。
image.png

画面が表示されるタイミングでは「recordstart」を「false」にしたいのでScreenの「Onvisible」プロパティに以下の関数を設定します。

UpdateContext({
    recordstart:false
})

image.png

マップコントロールの設定

ルートを表示するマップコントロールを入れます。

マップコントロールの「RouteWaypoints_Items」にコレクションMyCol2を入力します。

MyCol2

RouteWaypointsLatitudesに「"緯度"」を入力します。

"緯度"

RouteWaypointsLongitudes「"経度"」を入力します。

"経度"

image.png

コレクションにためたルート情報を削除

コレクションにためたルート情報を削除するためのリセットボタンを作成します。

Clear(MyCol2);

image.png

データを確認するためのギャラリー

コレクションのデータを確認するためのギャラリーを設定します。
データソースに「MyCol2」を設定し、フィールドの設定をします。
image.png

スマホで動作確認

スマホで開いて、動きを確認します。

記録開始ボタンを押してから記録終了ボタンを押すまでのルートを取得できました!

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?