こんにちは。インフォシェア株式会社DX部です。
Power Apps のキャンバスアプリでは、利用できるGUI部品(コントロール)は現在約100種類以上にもおよび、フォーム入力やデータ表示といった基本的な用途から、Mixed Reality や地図連携といった高度な機能まで、さまざまな利用シーンを想定した部品が提供されています。
中には、「このコントロールは何に使うの?」「使い方のイメージがわかない…」と感じるコントロールがあるかもしれません。つまり、ほとんどアプリ開発で活用されていないコントロールです。なぜ活用されていないのか? それほど便利ではない、何らかの制限がある、など理由は様々でしょうが、あらためて本記事でいくつかを取り上げてみます。それほど有用な記事ではありませんが、あらためて気になる方は目を通していただければ幸いです。
本記事ではマップ・住所の入力、評価、3Dオブジェクトの3つのコントロールについて解説いたします。
マップコントロールは、地図上にピンを表示したり、位置情報を視覚的に確認したりするための部品です。普通に考えたら、自分の作成するアプリにどんどん使いたい類いのコントロールのはずです。なぜあまり利用されることがないのでしょうか?
まずは汎用的な使い方をご紹介します。
以下の手順では、試しにインフォシェア株式会社の位置を設定し、マップ上にピン表示させてみました。
1. [+ 挿入] ⇒ [メディア]を選択し、マップのボタン(赤枠部分)を押します。

2. 「マップ」コントロールが挿入されました。

3. Items プロパティに、必要な情報をJSON形式で入力します。
Name(場所の名前), Latitude(緯度), Longitude(経度) の情報は必須ですが、必要に応じて、Icon (アイコンの種類)や、Color(ピンの色)に関する情報も設定できます
変数として別のプロパティで使用するので、Name などの名前は何でも大丈夫です。
プロパティ名に注目してください。「Items」プロパティ、つまり「複数形」ですので、一つのデータではなく、テーブル形式で複数のデータを取り扱うことができるようになっています。そのため、例えば以下のようにJSONを書き、Items プロパティで設定します。変数名:値の形で記述し、設定した変数名で別の部品やプロパティに対して利用できます。
{Name:"インフォシェア株式会社",Latitude: 35.6726,Longitude:139.4802,Icon:"Flag"}
テーブル形式ですから、[ ]で囲う必要があります。

4. 下の図のように、詳細設定からItems〇〇 プロパティに対応する変数を設定していきます。
ここでも、ItemsLabels や ItemsLatitudes とプロパティー名が「複数形」に対応していることに注目してください。そのため、Items に指定したテーブル形式のデータの「列名」をダブルクォーテーションでくくって指定する必要があります。

5. 対応する位置に、アイコンと場所の名前が表示されました!

6. 今度は「住所の入力」コントロールを利用して、検索した住所を「マップ」コントロールに表示されるようにしてみましょう。
※2025年11月現在、日本の住所の入力が対応していないようです。そのため、今回はMicrosoft 米国本社の住所を入力して、マップに反映されるか試してみます。
まず、以下のように「編集フォーム」コントロールを用意します。
予め Dataverse で、以下の列をすべて含むテーブル(Account テーブルとします)を作成し、フィールドに追加してください。

7. 「住所の入力」コントロールを挿入します。プロパティの以下の部分を画像の通りに設定してください。国のセットは、US(アメリカ合衆国を示す国コード)とします。

8. 「編集フォーム」の各フィールドに、検索した住所の情報が取得されるようにします。各データカードの、「Default」プロパティに、以下のように入力します。
例えば番地のフィールドは以下のように入力します。


その他のフィールドも「Default」プロパティに、以下のように入力します。
住所 1: 番地 AddressInput1.StreetNumber & " " & AddressInput1.StreetName住所 1: 市区町間 AddressInput1.Municipality
住所 1: 都道府県 AddressInput1.CountrySubdivision
住所 1: 郵便番号 AddressInput1.PostalCode
住所 1: 国/地域データカード AddressInput1.Country
住所 1: 緯度 AddressInput1.SelectedLatitude
住所 1: 経度 AddressInput1.SelectedLongitude
9. 「住所の入力」コントロールの「OnAddressSelect」プロパティに以下のように入力し、コレクションを作成します。

10. マップコントロールの Items プロパティ、ItemsLatitude プロパティ、ItemsLongitude プロパティに以下のように入力します。

11. 再生ボタンからアプリを再生し、Microsoft 本社の所在地を入力すると以下のように表示されます!

理由は幾つか考えられますが、まず「地図情報がそれほどリッチではない」点があるかもしれません。私たちが普段よく利用するGoogleマップなどと比較すると、地図の表示粒度が荒く、表示倍率を上げながら地図を見ていくと、日本で使用する場合は、建物情報などがあまり表示されません。そのため、全体の位置関係など、ざっくりした情報を表示するなどは問題ありませんが、詳細な情報が欲しいときには利用をためらってしまいます。
二つ目は、地図情報が英語メインになっていることがあります。日本の住所の場合、市町村名などが部分部分でローマ字表記になってしまいます。
私たちが日頃使い慣れている他の地図サービスがリッチな分、これでは物足りないと感じるかもしれません。
最後に、地図表示に緯度経度情報を必要とすることです。住所を入力させることはアプリ上簡単に実装ができますが、住所を元に、必要な緯度経度情報を取得するのは難易度が高いかもしれませんね。外部のWebサービスを組み合わせて利用することになります。
「評価」コントロールは、入力系の中にある、星型のUIでユーザーが満足度や評価を入力できるコントロールです。(食べログなど評価サイトでよく用いられるUI)
アンケートやレビューなど、定性的なフィードバックを数値化する目的で使用されます。
また、星型のUIでユーザーが満足度や評価を直接入力できるためフィードバックの収集が容易になります。

以下の手順では、イベントのアンケートフォームに対し、満足度を入力してもらう場合を想定して、評価コントロールの実装方法を説明します。
1. 以下のようにフォームを用意しておきます。(実際のフォームは他にも評価の理由などの色々な項目が必要だと思いますが、今回は最低限の項目のみ作っています。)

2. [+ 挿入] ⇒ [入力]を選択し、評価のボタン(赤枠部分)を押します。

3. 「評価」コントロールが挿入されました。

4. 「評価」コントロールの「Max」 プロパティ、「Default」 プロパティを編集します。
「Max」 プロパティは最大で星を何個まで挿入できるかを指定します。初期値は5で実用的な観点から、10ぐらいまでの設定を推奨します。

「Default」 プロパティは、初めに設定される評価の値を表します。3.の画像では3が初期値として設定されており、星が3個黒く塗りつぶされています。
※「Max」プロパティで設定した値以上の値を設定した場合、全部の星が塗りつぶされます。

5. 次に「OnChange」 プロパティで、塗りつぶした星の数を変数に設定し、別の部品(ラベルなど)で扱えるようにします。
下では、Set関数を用いて、ratingという変数を定義し変数に、星の個数を代入するように実装しています。
※Rating_Event は、「評価」コントロールの名前です。この名前は自由に設定できるので、適宜自分で定義したものに変更してください。

6. 最後にラベルを一つ用意して、ラベルに「評価」コントロールで取得した星の個数を出力します。ラベルを挿入後、下のように「Text」 プロパティに入力します。

7. 実際のアプリではどのような挙動を示すのか、再生ボタンから確認してみます。

単純に、「評価コントロールの用途が限定的である」点があげられるかもしれません。
まず評価コントロールは、ECサイトの商品レビューやアンケートなど、ユーザーの主観的な感想を収集する場面を想定されていると思われますが、Power Apps で作成される業務アプリの多くは、フォーム入力や業務フローの処理が中心であり、評価コントロールのような直感的な情報を扱うケースが少ないのが実情です。
二つ目の理由として、データの扱いがやや難しい点が考えられます。
評価コントロールは、星の数を数値として扱うことができますが、その値を保存・集計するためには、適切なデータ構造や処理が必要です。
たとえば、Dataverse や SharePointリストに保存する際に、数値型で格納するなどの下準備が必要です。これが他の入力コントロールよりも手間に感じられることがあるかもしれません。
三つ目の理由として、デザイン上の制約があげられます、評価コントロールは星型のUIが固定されており、カスタマイズ性が低いという声もあります。
たとえば、星以外のアイコンを使いたい場合には、対応ができません。この点が、開発者によっては、利用をためらう一因になっている可能性があります。
私たちが日頃目にする業務アプリでは、評価コントロールのような感覚的な入力部品のニーズが少ないことが、利用頻度の低さにつながっているのかもしれません。
また、データ処理やUIの柔軟性の面で他のコントロールに比べて扱いづらさがあることも、開発者が敬遠する理由の一つと考えられます。
「3Dオブジェクト」コントロールは、.glb形式の3Dモデルをアプリ内に表示できる部品です。
製品の立体表示や空間配置のシミュレーションなど、視覚的な理解を促進する目的で使用されます。
1. 予め用意した3DオブジェクトのファイルをSharePointリストに格納します。
まず、SharePointリストを作成し、「+新しいアイテムを追加」(赤枠部分)を選択します。

添付ファイルに、用意していたglbファイルを選択します。タイトルはファイルの内容が分かる名前を付けます。

同様にして他のファイルも同じように選択すると、以下のようにファイルがリストに追加されました。

2. キャンバスアプリの編集画面で、3Dモデルコンポーネントを画面に挿入します。

「3Dオブジェクト」コントロールが追加されました。

加えて、「ドロップダウン」コントロールも追加し、下の画面のように体裁を整えます。

3.「ドロップダウン」コントロールのプロパティ(赤枠部分)を編集します。
“項目”の部分にはSharePointリストを、”Value”の部分には「タイトル」列を選択してください。

4. 「3Dオブジェクト」コントロールの、「Source」プロパティに、下図のように入力します。Dropdown1の部分は、「ドロップダウン」コントロールの名前を入力してください。
入力したら、ドロップダウンで選択されたファイルの画像が表示されるようになりました。

5. アプリを再生し、ドロップダウンの選択肢を色々変えて試してみてください。
実際に3Dオブジェクトを触ると、回転など様々な扱いができます。

幾つか理由は考えられますが、主に「3Dモデルの準備が難しい」、「利用シーンが建設業の現場などのかなり限定的な用途に限られる」といった点があるかもしれません。
Power Apps の3Dオブジェクトコントロールは、.glbや.objなど特定の形式の3Dファイルを必要とします。しかし、アプリの利用者がこうした3Dモデルを自前で用意するのはハードルが高く、一般的な業務シナリオではそもそも必要性が薄いことが多いです。そのため、利用をためらうケースが多いでしょう。
「利用シーンが限定的」という点に関しては、3Dオブジェクトコントロールは製造業や建築業など、立体的なモデルを扱う業務には有効ですが、一般的な社内業務(顧客管理、申請処理、在庫管理など)ではほとんど使われることはありません。そのため、アプリ開発で採用されることが少なく、目に留まる機会が少ないのだと思います。
今回ご紹介した、マップ、評価、3Dオブジェクトは、Power Apps キャンバスアプリの中でも比較的使用頻度が低く、使い方のイメージが湧きにくい部品かもしれません。
しかし、業務にフィットするシナリオを見つけて活用すれば、アプリの機能やユーザー体験を大きく向上させることができます。
「この部品、実はこんな使い方ができるんだ!」という気づきが、アプリ開発の幅を広げるきっかけになれば幸いです。
インフォシェアでは、アプリ開発に加え、「トレーニングサービス」や「伴走型支援サービス」など、Power Platform を活用した内製化支援も提供しております。
年間で作成しているアプリ数も非常に多く、かつ、官公庁が採用している大規模な Power Apps アプリや Power Pages アプリ開発、全社単位で使用する Power Automate ワークフロー開発など豊富な経験を有しています。
以下より、各サービスの詳細をご確認ください。