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

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

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

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

メッセージ アクション

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

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

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

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

トリガー

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

トリガー説明

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

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

範囲の変更

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

レコード選択の変更

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

作成されたレコード

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

追加したデータ

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

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

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

データの追加

Yes

チャート

Yes

フィーチャ情報

Yes

フィルター

Yes

リスト

Yes

マップ

Yes

Yes

クエリ

Yes

Yes

検索

Yes

Yes

Yes

テーブル

Yes

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

Yes

ターゲット

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

アクション

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

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

ヒント:

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

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

Framework

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

例: 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 World Geocoding Service

Yes

近隣検索ウィジェット

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

Yes

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

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

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

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

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

データ アクション

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

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

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

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

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

ソース ウィジェットフレームワーク: エクスポートフレームワーク: フィルターの設定ルート案内: ルート案内の出発地ルート案内: ルート案内の目的地標高断面: 標高断面の表示マップ: 画面移動マップ: マップ上に表示1マップ: ズームマップ: マップに追加2近隣検索: 場所の設定テーブル: テーブルでの表示3

解析

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

Yes

Yes

Yes

Yes

Yes

Yes

Yes

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

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

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

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

データ アクション レベル

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

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

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

すべてのレコード

選択レコード

読み込まれたレコード

現在のレコード

データの追加

Yes

チャート

Yes

Yes

フィーチャ情報

Yes

Yes

リスト

Yes

Yes

マップ

Yes

マップ レイヤー

Yes

近隣検索

Yes

クエリ

Yes

Yes

Yes

テーブル

Yes

Yes

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

ターゲット操作データ ソース レベルレコード レベル

標高断面

標高断面の表示

Yes

ルート案内

ルート案内の出発地

Yes

ルート案内の目的地

Yes

Framework

エクスポート

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