Experience Builder を使用して動的かつ対話的なアプリを作成するには、次の操作を実行します。
- ウィジェットをデータに接続して、動的なコンテンツで構成します。
- ウィジェットとフレームワーク (データ ソース) 間の対話機能を設定します。
- ウィジェット間の対話機能を構成します。
2 種類のアクション (メッセージ アクションとデータ アクション) をウィジェットに追加できます。 メッセージ アクションはトリガーを待機し、リストを絞り込んで、マップの現在の範囲内のレコードのみを表示するなどのアクションを自動的に実行します。 データ アクションには [アクション] ボタンがあります。ユーザーは、ウィジェットの実行時にこのボタンをクリックし、リストの中から実行したいアクションを選択できます (レコードをファイルにエクスポートしたり、ArcGIS アイテムとしてエクスポートしたりするなど)。
メッセージ アクション
Experience Builder アプリはデータ主導です。つまり、一般的に、基となるデータが更新されると、ウィジェットが表示するデータは変化します。 トリガーに対応するメッセージ アクションを構成することで、ウィジェットとデータ間の対話機能を定義できます。 たとえば、マップ ウィジェットが範囲を変更すると、他のウィジェット (リスト ウィジェットなど) がフィルターされ、現在の範囲内のフィーチャのみが表示されるようなやり取りを作成することができます。 そのために、マップ ウィジェットで [範囲の変更] をトリガーとして設定し、リスト ウィジェットが使用しているデータ ビューの [データ レコードのフィルター] をアクションとして設定します。 ウィジェットはデータ主導なので、フレームワーク レベルでフィルター アクションをデータに適用することで、同じデータ ビューを使用しているすべてのウィジェットが自動的に同期されます。 また、ウィジェット間の対話機能を定義することもできます。 ウィジェットが提供するアクションは、そのウィジェット内でのみ有効になります。 たとえば、2 つのマップ ウィジェットのうち、一方のマップ ウィジェットの範囲の変更をトリガーとして設定し、もう一方のマップ ウィジェットの [範囲の変更] をアクションとして設定することで、ユーザーが一方のマップ ウィジェットを拡大表示または画面移動した際に、2 つのマップ ウィジェットの範囲を同期させることができます。
これらの対話機能は、トリガーを提供するソース ウィジェットの [アクション] ウィンドウで定義および管理します。 [メッセージ アクション] 構成には 3 つの部分があります。
ソース ウィジェットのトリガーは 1 度だけ追加できます。ただし、同じまたは異なるターゲットからの特定のトリガーに複数のアクションを追加できます。
トリガー
トリガーはソース ウィジェットにより生成されるイベントです。 トリガーが発生すると、それに対応して、そのトリガーに追加されたアクションが実行されます。 次の表に、現在サポートされている 5 つのトリガーを示します。
トリガー | 説明 |
---|---|
ボタンをクリック | ボタン ウィジェットをクリックすると、トリガーが発生します。 |
データのフィルターを変更 | データ ソースにフィルターが適用されると、トリガーが発生します。 |
範囲の変更 | 画面移動、ズーム、サイズ変更などによりマップの範囲が変わると、トリガーが発生します。 |
レコード選択の変更 | レコードが選択されたか、レコードの選択が解除されると、トリガーが発生します。 |
作成されたレコード | トリガーは、作成されたレコードがソース ウィジェットに読み込まれると起動します。 |
追加されたデータ | データの追加ウィジェットでデータ ソースが追加されると、トリガーが発生します。 |
ウィジェットの利用可能なトリガーを表示するには、その設定を開いて、[アクション] タブの [トリガーの追加] をクリックします。 ソース ウィジェットとサポートされるトリガーを次の表に示します。
ソース ウィジェット | ボタンをクリック | 追加されたデータ | データのフィルターを変更 | 範囲の変更 | レコード選択の変更 | 作成されたレコード |
---|---|---|---|---|---|---|
データの追加 | ||||||
ボタン | ||||||
チャート | ||||||
フィーチャ情報 | ||||||
フィルター | ||||||
リスト | ||||||
マップ | ||||||
近隣検索 | ||||||
クエリ | ||||||
検索 | ||||||
選択 | ||||||
テーブル | ||||||
ユーティリティ ネットワーク トレース |
注意:
チャート ウィジェットまたはマップ ウィジェットで多数のフィーチャを選択すると [レコード選択の変更] トリガーに負担がかかり、Experience Builder が予期したアクションを実行できないことがあります。
ターゲット
ターゲットはアクションを実行します。 ターゲットはウィジェットまたはフレームワークです。 フレームワークをターゲットとして使用すると、アクションは、アプリ内の関連するすべてのウィジェットとページを通してグローバルに実行されます。
アクション
フレームワーク特定のビジネス ロジックを実行するターゲット (特にウィジェット) によって提供されます。 アクションの中には、ターゲットがトリガーからのメッセージに応答する方法に応じて、追加の構成が必要なものもあります。 たとえば、データ ビューのフィルター アクションを構成していて、トリガーが異なるデータに基づいている場合、属性または空間リレーションシップを設定することで、ターゲットのデータ ビューをフィルター処理できます。 SQL 条件を設定することもできます。
トリガー フィールドとアクション フィールドの間に属性関係を確立するには、トリガー フィールドのレコードとアクション フィールドのレコードが (大文字と小文字の区別も含め) 完全に一致する必要があります。
ターゲットはそれぞれ、異なったトリガーに対応するアクションを提供します。 トリガーを追加しターゲットを選択すると、利用可能なアクションが表示されます。 ターゲットとそれに対応するアクションを次の表に示します。
ターゲット | アクション1 | トリガー: 追加されたデータ | トリガー: データのフィルターを変更 | トリガー: レコード選択の変更 | トリガー: 範囲の変更 | トリガー: 作成されたレコード |
---|---|---|---|---|---|---|
フレームワーク | [データ レコードのフィルター] - 今後アプリから表示または処理するために、条件に一致したデータ ビュー内のレコードのみを保持します。 | |||||
[データ レコードの選択]2 - レコードを選択済みとしてマークし、選択フィーチャ ビュー内に配置します。 | ||||||
Business Analyst ウィジェット | [フィーチャの選択] - フィーチャを選択済みとしてマークします。 | |||||
標高断面ウィジェット | [ラインによる選択] - ライン フィーチャを選択済みとしてマークし、標高断面を生成します。 | |||||
マップ ウィジェット | [マップに追加] - データをレイヤーとして Web マップまたはシーンに追加します。 | |||||
[画面移動]3 - 現在の縮尺を維持して指定した位置に中央配置します。 | ||||||
[ズーム]4 - 指定した位置にズームします。 | ||||||
[フラッシュ] - マップ上のフィーチャを点滅表示します。 | ||||||
[フィルター] - マップ ウィジェットで表示するために、条件に一致したフィーチャのみを保持します。 | ||||||
[マップ上に表示]5 - 作成されたレコードを、新しいレイヤーとしてマップに表示します。 | ||||||
近隣検索ウィジェット | [位置の設定] - 検索位置を定義し、近傍フィーチャを検索します。 |
1フレームワーク アクションで、アクション データがデフォルト ビューの場合、そのデータとビューを使用しているすべてのウィジェットに影響を与えます。 アクション データが指定したビューの場合、アクションはそのビューを使用しているウィジェットにのみ影響します。 ウィジェット アクションの場合、アクションはターゲット ウィジェットに対してのみ実行されます。 (たとえば、マップ フィルター アクションはマップ内のレコードのみをフィルタリングし、同じレイヤーを使用している他のすべてのウィジェットには影響を与えません。)
2レコードの選択状態はアプリ全体で同期され、選択済みのレコードはデータの選択フィーチャ ビューに保存されます。 選択したレコードを表示するためのウィジェット構成が異なる場合があります。
3マップ ウィジェットに [ズーム] アクションと [画面移動] アクションの両方が構成されている場合、[ズーム] アクションの方が優先されます。 つまり、ユーザーがマップの画面移動とズームを同時に行った場合、[画面移動] アクションは無視されます。
4[ズーム] アクションを追加すると、[アクション設定] ウィンドウの [ズーム縮尺] 設定を変更できます。 [カスタム] を選択してマップのズーム レベルを調整するか、[自動] を選択してマップのデフォルト縮尺を使用します。 [ズーム] アクションには、Web マップと Web シーン向けの回転動作と、Web シーン向けのチルト動作が含まれます。
5[マップ上に表示] アクションを追加すると、作成されたレコードのシンボルをカスタマイズできます。 [カスタム シンボルの使用] を選択して、ポイント、ライン、ポリゴンの塗りつぶし、アウトライン、透過表示などをカスタマイズします。 [レイヤー定義シンボルの使用] を選択して、ソース ウィジェットの現在のアクションと関連付けられているレイヤーのシンボルを使用します。
ボタン アクション
ボタン ウィジェットを使用し、他のウィジェットのアクションをトリガーできます。 現在のところ、[ボタンをクリック] トリガーは以下のアクションをサポートしています。
ターゲット | アクション |
---|---|
サイドバー ウィジェット | [サイドバーの切り替え] - サイドバーを開いたり閉じたりします。 |
データ アクション
ユーザーが、実行時にアプリのデータを処理できるよう、データ アクションを構成できます。 ソース ウィジェットの [アクション] ボタンをクリックして、データセットを特定のウィジェット (テーブルのクエリ結果を表示するなど) か、アプリ フレームワーク (データのエクスポートを行う) に渡します。
これらの対話機能は、ランタイム データセットを提供するソース ウィジェットの [アクション] ウィンドウで定義および管理します。 データ アクションの構成には 2 つの部分があります。
- データセットを受け取るターゲット (ウィジェットとアプリ フレームワーク)
- ターゲットが提供するデータ アクション (ユーザーがアクションを指定した場合にのみ実行される)
ターゲットに渡されるデータセットは、ソース ウィジェットによって異なります。 たとえば、チャート ウィジェットは、選択されているかどうかに関係なく、すべての統計データをテーブル ウィジェットに渡します。
以下の表に、使用可能なソース ウィジェット、ターゲットとサポートされるデータ アクション (ターゲット: データ アクション) を示します。
ソース ウィジェット | フレームワーク: エクスポート | フレームワーク: フィルターの設定 | フレームワーク: 統計 | ルート案内: ルート案内の出発地 | ルート案内: ルート案内の目的地 | 標高断面: 標高断面の表示 | マップ: 画面移動 | マップ: マップ上に表示1 | マップ: ズーム | マップ: マップに追加2 | 近隣検索: 位置の設定 | テーブル: テーブルに追加 | テーブル: テーブルに表示3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
解析 | |||||||||||||
データの追加 | |||||||||||||
チャート | |||||||||||||
フィーチャ情報 | |||||||||||||
リスト | |||||||||||||
マップ | |||||||||||||
マップ レイヤー | |||||||||||||
近隣検索 | |||||||||||||
クエリ | |||||||||||||
選択 | |||||||||||||
テーブル |
1[マップ上に表示] アクションを追加すると、作成されたレコードのシンボルをカスタマイズできます。
2データ追加ウィジェットから、同じレイヤーをマップに複数回追加できません。 テーブル ウィジェットまたはデータ追加ウィジェットで [マップに追加] データ アクションを使用したら、両方のウィジェットでそのレイヤーのオプションとして表示されなくなります。 マップに結果レイヤーを自動的に追加するよう解析ウィジェットを構成すると、[マップに追加] はこれらの結果のデータ アクションとして使用できません。
3データの追加ウィジェットを使用して多くのタイプのデータを追加できますが、テーブル ウィジェットがサポートするデータ タイプ (フィーチャ レイヤーおよびフィーチャ レイヤーが関連付けられたシーン レイヤー) だけが [テーブルに追加] データ アクションをトリガーできます。
データ アクションがターゲット ウィジェットで実行されると、ターゲット ウィジェットには解除用のボタンが表示されます。 たとえば、ユーザーがリスト ウィジェットのデータを選択し、そのデータをテーブル ウィジェットで表示する場合、新しいシートの横に、テーブルからシートを削除するためのボタンが表示されます。 同様に、[マップ上に表示] データ アクションを選択すると、マップからデータ アクションを消去するためのボタンが表示されます (ページを更新すると、すべてのデータ アクション結果が消去されます)。
注意:
ArcGIS Enterprise 11.3 リリース以降、Experience Builder はパフォーマンスを向上するために必要なフィールドのみを読み込むようになりました。 たとえば、データ ソースの特定のフィールドを使用するようウィジェットが構成されている場合、Experience Builder はそれらのフィールドのみを読み込みます。 そのため、[統計] データ アクションを実行するときに、読み込まれていないフィールドが表示されないことがあります。 その他のフィールドの統計を表示したい場合は、[テーブルに表示] または [テーブルに追加] データ アクションを使用し、実行時にテーブル ウィジェットのデータを表示し、テーブル ウィジェットの [統計] データ アクションを使用する方法があります。
データ アクション レベル
データ アクションは、ソース ウィジェットの一部またはすべてのデータに影響を及ぼすことがあります。 データ ソース全体のすべてのレコードに影響するデータ アクションは、データ ソース レベル アクションと呼ばれます。 選択したレコード、読み込まれたレコード、または現在のレコードにのみ影響するデータ アクションは、レコード レベル アクションと呼ばれます。
ソース ウィジェットとデータ アクションでサポートされるレベルを次の表に示します。
ソース ウィジェット | データ ソース レベル | レコード レベル | ||
---|---|---|---|---|
すべてのレコード | 選択レコード | 読み込まれたレコード | 現在のレコード | |
データの追加 | ||||
チャート | ||||
フィーチャ情報 | ||||
リスト | ||||
マップ | ||||
マップ レイヤー | ||||
近隣検索 | ||||
クエリ | ||||
選択 | ||||
テーブル |
可能なすべてのターゲットとデータ アクションでサポートされるレベルを次の表に示します。
ターゲット | アクション | データ ソース レベル | レコード レベル |
---|---|---|---|
標高断面 | 標高断面の表示 | ||
ルート案内 | ルート案内の出発地 | ||
ルート案内の目的地 | |||
フレームワーク | エクスポート | ||
フィルターの設定 | |||
統計 | |||
マップ | ズーム | ||
画面移動 | |||
マップ上に表示 | |||
マップへの追加 | |||
近隣検索 | 位置の設定 | ||
テーブル | テーブルに追加 | ||
テーブルに表示 |
対話機能の構成
ソース ウィジェットの [アクション] パネルで、メッセージ アクションとデータ アクションを構成できます。
メッセージ アクションの構成
メッセージ アクションは、ソース ウィジェット (トリガーを提供するウィジェット) の設定で構成されます。
メッセージ アクションを構成するには、以下の手順を実行します。
- [アクション] パネルの [メッセージ アクション] タブで [トリガーの追加] をクリックします。
- トリガーを選択し、ターゲットを選択して、アクションを追加および選択します。
[フィルター]、[フラッシュ]、[データ レコードの選択] などのアクションによっては、追加の構成が必要になります。 アクションを選択すると、[アクション設定] オプションが表示されます。 各トリガーは、一度しか追加できません。
- 同じトリガーに対して複数のアクションを追加するには、[アクションの追加] をクリックします。
同じトリガーのアクションは順番に発生します。
- トリガーの下でグループ化されているアクションをドラッグして、順番を変更します。
- 構成済みの設定を後から変更するには、アクションの [設定] ボタン をクリックします。
- アクションを追加した後にアクションまたはターゲットを変更するには、削除してから新たに追加する必要があります。
トリガーを削除すると、そのトリガーに追加されたアクションもすべて削除されます。
データ アクションの構成
データ アクションはソース ウィジェットの設定で構成されます。ただし、エクスポートだけは例外で、[データ] パネルのデータ ソースに対して構成されます。 データ アクションはデフォルトで有効になっており、ウィジェットの [アクション] ボタンには、すべての使用可能なデータ アクションが自動的に含まれます。
データ アクションを構成するには、以下の手順を実行します。
- [アクション] パネルの [データ アクション] タブで、データ アクションをオンまたはオフにすることで、ウィジェットのアクション メニューのオプションを指定できます。 それ以外の場合は [データ アクションを有効化] をオフにし、ウィジェットから [アクション] ボタンを外します。
- オンにした各データ アクションについて、操作するソース ウィジェットのターゲット ウィジェット (マップ ウィジェットなど) を選択します。
ソース ウィジェットと同じページにあるターゲット ウィジェットのみ選択できます。
注意:
ページにターゲット ウィジェットを追加すると、同じページ上の使用可能なソース ウィジェットに、対応するデータ アクションが自動的に追加されます。
ヒント:
データ アクションはアプリのターゲット位置までジャンプしないため、最適な結果を得るには、ソース ウィジェットをターゲット ウィジェットの隣に配置します。
- [エクスポート] データ アクションを除外するには、[データ] パネルで、データ ソースの [エクスポートの許可] をオフにします。
使用例
メッセージ アクションを追加すると、次のようなシナリオでアプリ設計要件に対応できるようになります。
- 2 つのマップ、2 つのシーン、またはマップとシーンを比較するアプリを構築して、2 つのマップ ウィジェットの範囲が常に同期するようにするとします。 両ウィジェットに [範囲の変更] トリガーを追加し、別のウィジェットをそれぞれのターゲットとして選択して、[画面移動] アクションまたは [ズーム] アクションを選択します。
- リスト ウィジェットをマップ ウィジェットに追加して、マップの現在の範囲内にあるレコードだけがリストに表示されるようにするとします。 [範囲の変更] トリガーをマップ ウィジェットに追加し、フレームワークの [データ レコードのフィルター] アクションを選択して、リスト ウィジェット設定で構成されたデータ ビューとしてアクション データを選択し、範囲との空間リレーションシップでアクションを構成できます。
データ アクションを使用すると、次のようなシナリオでアプリ設計要件に対応できるようになります。
- チャート ウィジェットを追加して、数値データまたは定性的データをグラフに表し、チャートで生成された統計データをテーブル ウィジェットに表示するオプションをユーザーに提供できます。 チャート ウィジェットの横にテーブル ウィジェットを追加すると、[テーブルに表示] データ アクションがチャート ウィジェットに自動的に追加されます。 ユーザーが、実行時にチャート ウィジェットの [アクション] ボタンをクリックして [テーブルに表示] を選択すると、テーブル ウィジェットに統計を表示できます。
ヒント:
ターゲット ウィジェット (この例ではテーブル ウィジェット) がウィジェット コントローラー ウィジェットにある場合、ユーザーがデータ アクションをアクティブ化すると、ターゲット ウィジェットがウィジェット コントローラーに自動的に開きます。
- リスト ウィジェットを追加してデータ レコードを表示し、マップ ウィジェットを追加して別のデータ レコードを表示します。 リストで選択されたレコードに対応するマップ上のフィーチャを表示し、1 つのマップでさまざまなデータを比較するオプションをユーザーに提供できます。 その場合、ユーザーは実行時にリスト ウィジェットの [アクション] ボタンをクリックし、[マップ上に表示] を選択します。
- テーブル ウィジェットにデータ レコードを表示し、ユーザーがデータをエクスポートできるようにします。 その場合は、データ ソースに対して [エクスポートの許可] が有効になった状態で、テーブル ウィジェットの [アクション] ボタンをクリックして、選択したレコードかすべてのレコードをエクスポートできます。