ウィジェットへのアクションの追加

Experience Builder を使用して動的かつ対話的なアプリを作成するには、次の操作を実行します。

  • ウィジェットをデータに接続して、動的なコンテンツで構成します。
  • ウィジェットとフレームワーク (データ ソース) 間の対話機能を設定します。
  • ウィジェット間の対話機能を構成します。

2 種類のアクション (メッセージ アクションデータ アクション) をウィジェットに追加できます。 メッセージ アクションはトリガーに応答し、リストを絞り込んで、マップの現在の範囲内のレコードのみを表示するなどのアクションを自動的に実行します。 データ アクションには [アクション] ボタンがあります。ユーザーは、ウィジェットの実行時にこのボタンをクリックし、リストの中から実行したいアクションを選択できます (レコードをファイルにエクスポートしたり、ArcGIS アイテムとしてエクスポートしたりするなど)。

メッセージ アクション

Experience Builder アプリはデータ主導です。つまり、一般的に、基となるデータが更新されると、ウィジェットが表示するデータは変化します。 トリガーに対応するメッセージ アクションを構成することで、ウィジェットとデータ間の対話機能を定義できます。 たとえば、マップ ウィジェットが範囲を変更すると、他のウィジェット (リスト ウィジェットなど) がフィルターされ、現在の範囲内のフィーチャのみが表示されるようなやり取りを作成することができます。 そのために、マップ ウィジェットで [範囲の変更] をトリガーとして設定し、リスト ウィジェットが使用しているデータ ビューの [データ レコードのフィルター] をアクションとして設定します。 ウィジェットはデータ主導なので、フレームワーク レベルでフィルター アクションをデータに適用することで、同じデータ ビューを使用しているすべてのウィジェットが自動的に同期されます。 また、ウィジェット間の対話機能を定義することもできます。 ウィジェットが提供するアクションは、そのウィジェット内でのみ有効になります。 たとえば、2 つのマップ ウィジェットのうち、一方のマップ ウィジェットの範囲の変更をトリガーとして設定し、もう一方のマップ ウィジェットの [範囲の変更] をアクションとして設定することで、ユーザーが一方のマップ ウィジェットを拡大表示または画面移動した際に、2 つのマップ ウィジェットの範囲を同期させることができます。

これらの対話機能は、トリガーを提供するソース ウィジェットの [アクション] ウィンドウで定義および管理します。 [メッセージ アクション] 構成には 3 つの部分があります。

  • ソース ウィジェットからのトリガー
  • トリガーに対応するターゲット (ウィジェットとアプリ フレームワークを含む)
  • その使用目的に関連するターゲットからのアクション

ソース ウィジェットのトリガーは 1 度だけ追加できます。ただし、同じまたは異なるターゲットからの特定のトリガーに複数のアクションを追加できます。

トリガー

トリガーはソース ウィジェットにより生成されるイベントです。 トリガーが発生すると、それに対応して、そのトリガーに追加されたアクションが実行されます。 次の表に、現在サポートされている 7 つのトリガーを示します。

トリガー説明

ボタンをクリック

ボタン ウィジェットをクリックするか、ビュー ナビゲーション ウィジェット ボタンをクリックすると、トリガーが発生します。

追加されたデータ

データの追加ウィジェットでデータ ソースが追加されると、トリガーが発生します。

データのフィルタリングの変更1

データ ソースにフィルターが適用されると、トリガーが発生します。

範囲の変更

画面移動、ズーム、サイズ変更などによりマップの範囲が変わると、トリガーが発生します。

作成されたレコード

トリガーは、作成されたレコードがソース ウィジェットに読み込まれると起動します。

レコード選択の変更

レコードが選択されたか、レコードの選択が解除されると、トリガーが発生します。

ビューの変更

ビューのナビゲーション ウィジェットでビューを選択すると、トリガーが発生します。

1[データのフィルタリングの変更] アクションではダイナミック イメージ レイヤーはサポートされていません。

ウィジェットの利用可能なトリガーを表示するには、その設定を開いて、[アクション] タブの [トリガーの追加] をクリックします。 ソース ウィジェットとサポートされるトリガーを次の表に示します。

ソース ウィジェットボタンをクリック追加されたデータデータのフィルターを変更範囲の変更レコード選択の変更作成されたレコードビューの変更

データの追加

Yes

ボタン

Yes

チャート

Yes

フィーチャ情報

Yes

フィルター

Yes

リスト

Yes

Yes

マップ

Yes

Yes

近隣検索

Yes

クエリ

Yes

Yes

検索

Yes

Yes

Yes

選択

Yes

テーブル

Yes

ユーティリティ ネットワーク トレース

Yes

ビュー ナビゲーション

Yes

Yes

注意:

チャート ウィジェットまたはマップ ウィジェットで多数のフィーチャを選択すると [レコード選択の変更] トリガーに負担がかかり、Experience Builder が予期したアクションを実行できないことがあります。

ターゲット

ターゲットはアクションを実行します。 ターゲットはウィジェットまたはフレームワークです。 フレームワークをターゲットとして使用すると、アクションは、アプリ内の関連するすべてのウィジェットとページを通してグローバルに実行されます。

アクション

フレームワーク特定のビジネス ロジックを実行するターゲット (特にウィジェット) によって提供されます。 アクションの中には、ターゲットがトリガーからのメッセージに応答する方法に応じて、追加の構成が必要なものもあります。 たとえば、データ ビューのフィルター アクションを構成していて、トリガーが異なるデータに基づいている場合、属性または空間リレーションシップを設定することで、ターゲットのデータ ビューをフィルター処理できます。 SQL 条件を設定することもできます。

トリガー フィールドとアクション フィールドの間に属性関係を確立するには、トリガー フィールドのレコードとアクション フィールドのレコードが (大文字と小文字の区別も含め) 完全に一致する必要があります。

ターゲットはそれぞれ、異なったトリガーに対応するアクションを提供します。 トリガーを追加しターゲットを選択すると、利用可能なアクションが表示されます。 ターゲットとそれに対応するアクションを次の表に示します。

ヒント:

以下の [アクション] 列のリンクを使用して、各アクションの例をご参照ください。

ターゲットアクション1トリガー: ボタンをクリックトリガー: 追加されたデータトリガー: データのフィルタリングの変更トリガー: レコード選択の変更トリガー: 範囲の変更トリガー: 作成されたレコードトリガー: ビューの変更

フレームワーク

[データ レコードのフィルタリング] - 今後アプリから表示または処理するために、条件に一致したデータ ビュー内のレコードのみを保持します。

例: United Kingdom potential homebuilding sites

Yes

Yes

[データ レコードの選択]2 - レコードを選択済みとしてマークし、選択フィーチャ ビュー内に配置します。

例: US states, counties, and census tracts

Yes

Business Analyst ウィジェット

[フィーチャの選択] - フィーチャを選択済みとしてマークします。

Yes

標高断面ウィジェット

[ラインによる選択] - ライン フィーチャを選択済みとしてマークし、標高断面を生成します。

例: アメリカ国立公園のトレイル

Yes

マップ ウィジェット

[マップに追加] - データをレイヤーとして Web マップまたはシーンに追加します。

例: データ参照者

Yes

[画面移動]3 - 現在の縮尺を維持して指定した位置に中央配置します。

例: Birding in Boston

Yes

Yes

Yes

Yes

Yes

[ズーム]4 - 指定した位置にズームします。

例: Portland 2D and 3D

Yes

Yes

Yes

Yes

Yes

[フラッシュ] - マップ上のフィーチャを点滅表示します。

例: Explore New England

Yes

[フィルター] - マップ ウィジェットで表示するために、条件に一致したフィーチャのみを保持します。

例: Places to see in Washington, D.C.

Yes

[マップ上に表示]5 - 作成されたレコードを、新しいレイヤーとしてマップに表示します。

例: ArcGIS Geocoding service

Yes

近隣検索ウィジェット

[位置の設定] - 検索位置を定義し、近傍フィーチャを検索します。

Yes

サイドバー ウィジェット

[サイドバーを開く] - サイドバーを開きます。

Yes

Yes

Yes

[サイドバーの切り替え] - サイドバーを開いたり閉じたりします。

Yes

ウィジェット コントローラー ウィジェット

[ウィジェットを開く] - コントローラーでウィジェットを開きます。

Yes

Yes

1フレームワーク アクションで、アクション データがデフォルト ビューの場合、そのデータとビューを使用しているすべてのウィジェットに影響を与えます。 アクション データが指定したビューの場合、アクションはそのビューを使用しているウィジェットにのみ影響します。 ウィジェット アクションの場合、アクションはターゲット ウィジェットに対してのみ実行されます (たとえば、マップ フィルター アクションはマップ内のレコードのみをフィルタリングし、同じレイヤーを使用している他のすべてのウィジェットには影響を与えません)。

2レコードの選択状態はアプリ全体で同期され、選択済みのレコードはデータの選択フィーチャ ビューに保存されます。 選択したレコードを表示するためのウィジェット構成が異なる場合があります。

3マップ ウィジェットに [ズーム] アクションと [画面移動] アクションの両方が構成されている場合、[ズーム] アクションの方が優先されます。 つまり、ユーザーがマップの画面移動とズームを同時に行った場合、[画面移動] アクションは無視されます。

4[ズーム] アクションを追加すると、[アクション設定] ウィンドウの [ズーム縮尺] 設定を変更できます。 [カスタム] を選択してマップのズーム レベルを調整するか、[自動] を選択してマップのデフォルト縮尺を使用します。 [ズーム] アクションには、Web マップと Web シーン向けの回転動作と、Web シーン向けのチルト動作が含まれます。

5[マップ上に表示] アクションを追加すると、作成されたレコードのシンボルをカスタマイズできます。 [カスタム シンボルの使用] を選択して、ポイント、ライン、ポリゴンの塗りつぶし、アウトライン、透過表示などをカスタマイズします。 [レイヤー定義シンボルの使用] を選択して、ソース ウィジェットの現在のアクションと関連付けられているレイヤーのシンボルを使用します。

関連データ

データ ソースに関連データがある場合、レイヤーのリレーションシップを使用してメッセージ アクションを構成できます。 次のトリガー、ターゲット、アクションでは関連データがサポートされています。

トリガーターゲットアクション

レコード選択の変更

フレームワーク

データ レコードの選択、データ レコードのフィルタリング

マップ

フィルター、フラッシュ

データ アクション

ユーザーが、実行時にアプリのデータを処理できるよう、データ アクションを構成できます。 ソース ウィジェットの [アクション] ボタンをクリックして、データセットを特定のウィジェット (テーブルのクエリ結果を表示するなど) か、アプリ フレームワーク (データのエクスポートを行う) に渡します。

これらの対話機能は、ランタイム データセットを提供するソース ウィジェットの [アクション] ウィンドウで定義および管理します。 データ アクションの構成には 2 つの部分があります。

  • データセットを受け取るターゲット (ウィジェットとアプリ フレームワーク)
  • ターゲットが提供するデータ アクション (ユーザーがアクションを指定した場合にのみ実行される)

ターゲットに渡されるデータセットは、ソース ウィジェットによって異なります。 たとえば、チャート ウィジェットは、選択されているかどうかに関係なく、すべての統計データをテーブル ウィジェットに渡します。

以下の 2 つの表に、使用可能なソース ウィジェット、ターゲットとサポートされるデータ アクション (ターゲット: データ アクション) を示します。

ソース ウィジェットフレームワーク: エクスポートフレームワーク: 関連データ1フレームワーク: フィルターの設定フレームワーク: 統計解析: 解析の入力として設定ルート案内: ルート案内の出発地ルート案内: ルート案内の目的地

解析

Yes

Yes

データの追加

Yes

Yes

Yes

Yes

チャート

Yes

Yes

Yes

フィーチャ情報

Yes

Yes

Yes

Yes

Yes

Yes

Yes

リスト

Yes

Yes

Yes

Yes

Yes

Yes

Yes

マップ

Yes

Yes

Yes

Yes

Yes

マップ レイヤー

Yes

Yes

Yes

Yes

近隣検索

Yes

Yes

クエリ

Yes

Yes

Yes

Yes

Yes

Yes

Yes

選択

Yes

Yes

Yes

Yes

Yes

Yes

テーブル

Yes

Yes

Yes

Yes

Yes

Yes

Yes

ソース ウィジェットルート案内: ルートの計画標高断面: 標高断面の表示マップ: 画面移動マップ: マップ上に表示2マップ: ズームマップ: マップに追加3近隣検索: 位置の設定テーブル: テーブルに追加テーブル: テーブルでの表示4

解析

Yes

Yes

Yes

Yes

データの追加

Yes

Yes

Yes

Yes

Yes

チャート

Yes

Yes

フィーチャ情報

Yes

Yes

Yes

Yes

Yes

Yes

Yes

リスト

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

マップ

Yes

Yes

Yes

Yes

Yes

Yes

マップ レイヤー

Yes

Yes

近隣検索

Yes

クエリ

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

選択

Yes

Yes

Yes

Yes

Yes

Yes

Yes

テーブル

Yes

Yes

Yes

Yes

Yes

Yes

Yes

1[関連データ] アクションでは Arcade フィールドが予想どおりに表示されません。 Experience Builder では現在のところ Arcade はサポートされていません。

2[マップ上に表示] アクションを追加すると、作成されたレコードのシンボルをカスタマイズできます。

3データ追加ウィジェットから、同じレイヤーをマップに複数回追加できません。 テーブル ウィジェットまたはデータ追加ウィジェットで [マップに追加] データ アクションを使用したら、両方のウィジェットでそのレイヤーのオプションとして表示されなくなります。 マップに結果レイヤーを自動的に追加するよう解析ウィジェットを構成すると、[マップに追加] はこれらの結果のデータ アクションとして使用できません。

4データの追加ウィジェットを使用して多くのタイプのデータを追加できますが、テーブル ウィジェットがサポートするデータ タイプ (フィーチャ レイヤーおよびフィーチャ レイヤーが関連付けられたシーン レイヤー) だけが [テーブルに追加] データ アクションをトリガーできます。

データ アクションがターゲット ウィジェットで実行されると、ターゲット ウィジェットには解除用のボタンが表示されます。 たとえば、ユーザーがリスト ウィジェットのデータを選択し、そのデータをテーブル ウィジェットで表示する場合、新しいシートの横に、テーブルからシートを削除するためのボタンが表示されます。 同様に、[マップ上に表示] データ アクションを選択すると、マップからデータ アクションを消去するためのボタンが表示されます (ページを更新すると、すべてのデータ アクション結果が消去されます)。

注意:

2024 年 2 月のリリース以降、Experience Builder はパフォーマンスを向上するために必要なフィールドのみを読み込むようになりました。 たとえば、データ ソースの特定のフィールドを使用するようウィジェットが構成されている場合、Experience Builder はそれらのフィールドのみを読み込みます。 そのため、[統計] データ アクションを実行するときに、読み込まれていないフィールドが表示されないことがあります。 その他のフィールドの統計を表示したい場合は、[テーブルに表示] または [テーブルに追加] データ アクションを使用し、実行時にテーブル ウィジェットのデータを表示し、テーブル ウィジェットの [統計] データ アクションを使用する方法があります。

データ アクション レベル

データ アクションは、ソース ウィジェットの一部またはすべてのデータに影響を及ぼすことがあります。 データ ソース全体のすべてのレコードに影響するデータ アクションは、データ ソース レベル アクションと呼ばれます。 選択したレコード、読み込まれたレコード、または現在のレコードにのみ影響するデータ アクションは、レコード レベル アクションと呼ばれます。

ソース ウィジェットとデータ アクションでサポートされるレベルを次の表に示します。

ソース ウィジェットデータ ソース レベルレコード レベル

すべてのレコード

選択レコード

読み込まれたレコード

現在のレコード

データの追加

Yes

チャート

Yes

Yes

フィーチャ情報

Yes

Yes

リスト

Yes

Yes

マップ

Yes

マップ レイヤー

Yes

近隣検索

Yes

クエリ

Yes

Yes

Yes

選択

Yes

テーブル

Yes

Yes

Yes

Yes

可能なすべてのターゲットとデータ アクションでサポートされるレベルを次の表に示します。

ターゲットアクションデータ ソース レベルレコード レベル

解析

解析の入力として設定

Yes

Yes

標高断面

標高断面の表示

Yes

ルート案内

ルート案内の出発地

Yes

ルート案内の目的地

Yes

ルートの計画

Yes

フレームワーク

エクスポート

Yes

Yes

関連データ

Yes

フィルターの設定

Yes

統計

Yes

Yes

マップ

ズーム

Yes

Yes

画面移動

Yes

Yes

マップ上に表示

Yes

マップへの追加

Yes

近隣検索

位置の設定

Yes

Yes

テーブル

テーブルに追加

Yes

テーブルに表示

Yes

対話機能の構成

ソース ウィジェットの [アクション] パネルで、メッセージ アクションとデータ アクションを構成できます。

メッセージ アクションの構成

メッセージ アクションは、ソース ウィジェット (トリガーを提供するウィジェット) の設定で構成されます。

メッセージ アクションを構成するには、以下の手順を実行します。

  1. [アクション] パネルの [メッセージ アクション] タブで [トリガーの追加] をクリックします。
  2. トリガーを選択し、ターゲットを選択して、アクションを追加および選択します。

    [フィルター][フラッシュ][データ レコードの選択] などのアクションによっては、追加の構成が必要になります。 アクションを選択すると、[アクション設定] オプションが表示されます。 各トリガーは、一度しか追加できません。

  3. 同じトリガーに対して複数のアクションを追加するには、[アクションの追加] をクリックします。

    同じトリガーのアクションは順番に発生します。

  4. トリガーの下でグループ化されているアクションをドラッグして、順番を変更します。
  5. 構成済みの設定を後から変更するには、アクションの [設定] ボタン 設定 をクリックします。
  6. アクションを追加した後にアクションまたはターゲットを変更するには、削除してから新たに追加する必要があります。

    トリガーを削除すると、そのトリガーに追加されたアクションもすべて削除されます。

データ アクションの構成

データ アクションはソース ウィジェットの設定で構成されます。ただし、エクスポートだけは例外で、[データ] パネルのデータ ソースに対して構成されます。 データ アクションはデフォルトで有効になっており、ウィジェットの [アクション] ボタンには、すべての使用可能なデータ アクションが自動的に含まれます。

データ アクションを構成するには、以下の手順を実行します。

  1. [アクション] パネルの [データ アクション] タブで、データ アクションをオンまたはオフにすることで、ウィジェットのアクション メニューのオプションを指定できます。 それ以外の場合は [データ アクションを有効化] をオフにし、ウィジェットから [アクション] ボタンを外します。
  2. オンにした各データ アクションについて、操作するソース ウィジェットのターゲット ウィジェット (マップ ウィジェットなど) を選択します。

    ソース ウィジェットと同じページにあるターゲット ウィジェットのみ選択できます。

    注意:

    ページにターゲット ウィジェットを追加すると、同じページ上の使用可能なソース ウィジェットに、対応するデータ アクションが自動的に追加されます。

    ヒント:

    データ アクションはアプリのターゲット位置までジャンプしないため、最適な結果を得るには、ソース ウィジェットをターゲット ウィジェットの隣に配置します。

  3. [エクスポート] データ アクションを除外するには、[データ] パネルで、データ ソースの [エクスポートの許可] をオフにします。

使用例

メッセージ アクションを追加すると、次のようなシナリオでアプリ設計要件に対応できるようになります。

  • 2 つのマップ、2 つのシーン、またはマップとシーンを比較するアプリを構築して、2 つのマップ ウィジェットの範囲が常に同期するようにするとします。 両ウィジェットに [範囲の変更] トリガーを追加し、別のウィジェットをそれぞれのターゲットとして選択して、[画面移動] アクションまたは [ズーム] アクションを選択します。
  • リスト ウィジェットをマップ ウィジェットに追加して、マップの現在の範囲内にあるレコードだけがリストに表示されるようにするとします。 [範囲の変更] トリガーをマップ ウィジェットに追加し、フレームワークの [データ レコードのフィルタリング] アクションを選択して、リスト ウィジェット設定で構成されたデータ ビューとしてアクション データを選択し、範囲との空間リレーションシップでアクションを構成できます。

データ アクションを使用すると、次のようなシナリオでアプリ設計要件に対応できるようになります。

  • チャート ウィジェットを追加して、数値データまたは定性的データをグラフに表し、チャートで生成された統計データをテーブル ウィジェットに表示するオプションをユーザーに提供できます。 チャート ウィジェットの横にテーブル ウィジェットを追加すると、[テーブルに表示] データ アクションがチャート ウィジェットに自動的に追加されます。 ユーザーが、実行時にチャート ウィジェットの [アクション] ボタンをクリックして [テーブルに表示] を選択すると、テーブル ウィジェットに統計を表示できます。
    ヒント:

    ターゲット ウィジェット (この例ではテーブル ウィジェット) がウィジェット コントローラー ウィジェットにある場合、ユーザーがデータ アクションをアクティブ化すると、ターゲット ウィジェットがウィジェット コントローラーに自動的に開きます。

  • リスト ウィジェットを追加してデータ レコードを表示し、マップ ウィジェットを追加して別のデータ レコードを表示します。 リストで選択されたレコードに対応するマップ上のフィーチャを表示し、1 つのマップでさまざまなデータを比較するオプションをユーザーに提供できます。 その場合、ユーザーは実行時にリスト ウィジェットの [アクション] ボタンをクリックし、[マップ上に表示] を選択します。
  • テーブル ウィジェットにデータ レコードを表示し、ユーザーがデータをエクスポートできるようにします。 その場合は、データ ソースに対して [エクスポートの許可] が有効になった状態で、テーブル ウィジェットの [アクション] ボタンをクリックして、選択したレコードかすべてのレコードをエクスポートできます。