グループ フィルター ウィジェットでは、マップ内の 1 つ以上のレイヤーに基づき、マップにフィルターを適用できます。一連のレイヤーが論理フィルター セットにグループ化されます。ユーザーが操作しやすいよう、各セットにはあらかじめ定義された値を設定できます。このウィジェットには、実行時に複雑なフィルターを作成できる通常モードと、フィルターを 1 つだけ適用できるシンプル モードがあります。
グループ フィルター ウィジェットの構成
このウィジェットは、アプリの起動時に自動的に開くように設定できます。ウィジェット上の [アプリの起動時に、このウィジェットを開かない] ボタン をクリックして、ウィジェットを自動的に開くオプションをオンにします (最初にアプリに追加する必要があるウィジェットについては、ウィジェットを構成した後でこの設定を行うことができます)。
次に、フィルター セットの作成手順を示します。フィルター セットを追加で定義する必要がある場合は、これらの手順を繰り返します。
- ウィジェット上にマウス ポインターを合わせて、[このウィジェットを構成] ボタン をクリックして、構成ウィンドウを開きます。
メモ:
最初にウィジェットをアプリに追加する必要がある場合は、[ウィジェット] タブのウィジェット プレースホルダーをクリックします。表示される [ウィジェットの選択] ウィンドウで、ウィジェットを選択し、[OK] をクリックします。
- このウィジェットのデフォルト アイコンを変更する場合は、[ウィジェット アイコンの変更] をクリックします。ファイル エクスプローラー ウィンドウが表示され、ウィジェット アイコンとして使用するローカル イメージ ファイルを選択できます。
構成には、変更できる状態のグループが 1 つ表示されます。
- [設定するフィルターの名前] を定義します。
[設定するフィルターの名前] オプションからユーザーは名前を選択します。必要に応じて、このグループがフィルターする内容を説明文に追加できます。
- 必要に応じて、[設定済みの演算子] および [設定済みの値] を使用して、実行時にユーザーがこれらの条件を指定する必要がないようにこのフィルターの値を定義します。[設定済みの値] では、値を入力するか、検索ボタンをクリックして既存のレイヤーから値を選択することができます。
- 同じレイヤー内の別のフィールドに対してフィルタリングする場合、パラメーター [レイヤーが複数回リストに表示されている場合は、フィールド間に次の演算子を使用します。] パラメーターで、[OR] または [AND] を使用して、これらのフィルターの結合方法を制御します。
- 提供されるテーブルには、フィルター セットでグループ化するレイヤーが表示されます。デフォルトではレイヤーが 1 つ表示され、マップ上のランダムなレイヤーがあらかじめ設定されています。フィルターを適用するレイヤーとフィールドを選択します。
- [値の使用] ボタンを選択します。これは、値を見つけられるように値のドロップダウン リストを表示するかどうかを選択できます。このオプションが選択されていない場合は、代わりに空のテキスト ボックスが表示されます。
メモ:
このボタンはオプションです。
- このフィルター セットに別のレイヤーを追加するには、[レイヤーの追加] ボタンをクリックします。
- 別のフィルター セットを追加するには、[新規グループの追加] ボタンをクリックします。これにより、フィルター セットのグループが新たに作成されます。必要に応じて、手順 3 ~ 7 を繰り返します。
- [フィルターの選択セットの上に表示するテキストを指定] テキスト ボックスを使用してカスタム ヘッダー テキストを指定します。
- 次の 5 つのチェックボックスは、ウィジェットの動作を制御します。
- [シンプルなビューで開始] は、エンド ユーザーにウィジェットを表示する方法を指定します。このチェックボックスをオンにすると、演算子ドロップダウン リストと [条件の追加] ボタンがインターフェイスに表示されなくなり、基本的な外観になります。
- [ウィジェット オプションを非表示] はその他のウィジェット設定を開くアイコンを表示するかどうかを指定します。これには、定義済みフィルターの保存と読み込み、マップ内の既存のフィルター定義への付加 (ある場合)、ウィジェットを閉じた後にフィルターを維持する設定などがあります。
- Web マップに、事前定義された既存のフィルターが適用されている場合、[次の演算子を使用してフィルターを既存の Web マップ フィルターに追加] の OR または And を使用して、そのフィルターを無視するか、またはこのウィジェットで作成したフィルターを既存の Web マップ フィルターに追加するかを決定できます。デフォルトでは、このウィジェットは Web マップ フィルターを無視します。さらに、これを有効にすると、複数のグループでフィルターが維持されます。
- [ズーム] は、マップをフィルタリングされたデータの範囲にズームするかどうかを決定します。デフォルトでは、マップは現在の範囲を維持します。
- [ウィジェットを閉じた後に維持します] を使用すると、ウィジェットを閉じたときにフィルターを維持できます。
[1 つのグループのみが構成されている場合はヘッダーとフィルターの選択を非表示] を使用すると、1 つのグループのみが構成されている場合にヘッダーとドロップダウン メニューを非表示にできます。
グループ フィルター ウィジェットの使用
- グループ フィルター ウィジェットをクリックすると、事前に定義されたフィルター セットの選択肢が表示されます。
分割線の下に演算子と値の 2 つのリストが表示されます。この例では、マップがフィルタリングされ、放置車両の苦情のみが表示されます。
メモ:
ウィジェットのレイヤーの設定に応じ、演算子ドロップダウン リストの後には、(この例のような) 値のリスト、ユーザー入力用のテキスト ボックス、日付ピッカーのいずれかが表示されます。
- [適用] をクリックして、マップにフィルターを適用します。
必要に応じて、URL パラメーターをアプリの URL に追加して、フィルターを適用できます。URL は次の形式でなければなりません。山括弧内の変数は、次のリストに記述された値に置き換えます。
https://<your portal URL>/apps/webappviewer/index.html?id=<Item ID>&groupfilter={"<Filter Set Name>":["<value>","<value>",...]}
- Item ID - アプリの一意の ID。
- Filter Set Name - フィルター グループの定義名。この値は小文字と大文字が区別されます。
- Value - フィルター処理の実行に使用される値。ドメインに基づいてフィルター処理するには、ドメイン コードを使用します。
たとえば、前の画像に示したフィルターを適用するには、次のサンプルのような URL を使用します。
https://<your portal URL>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&groupfilter={"Group A":["Abandoned Motor Vehicle"]}
メモ:
グループ フィルター ウィジェットがアプリの起動時に自動的に起動するように構成されていない場合、URL で定義されたフィルターはウィジェットを開くまで適用されません。
- [リセット] をクリックするとフィルターが解除され、マップは初期状態に戻ります (デフォルトでは、ウィジェットを閉じると、フィルターも解除されます)。
- ウィジェットを使用すると、実行時にフィルター条件を追加できます。[条件の追加] をクリックして、条件を追加します。2 つの条件が接続詞で結合されています。[OR] または [AND] を使用して結合できます。
この例に示したフィルターを適用するために URL パラメーターを使用するには、URL は次のサンプルのようになります。
https://<your portal URL>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&groupfilter={"Group A":["Abandoned Motor Vehicle","Auto Theft"]}
- ウィジェットには保存オプションがあるため、定義済みの条件の設定を保存しておくと再利用できます。設定ボタンをクリックし、オプション パネルにアクセスします。
- [保存] をクリックすると、定義済みの条件が JSON テキスト ファイルとしてローカルに保存されます。
- [保存されたファイルのアップロード] をクリックすると、過去に保存されたファイルを読み込んで、ファイルに定義されたすべての条件を元に戻すことができます。
- 他のウィジェットでフィルター処理されたマップを使用する必要がある場合は、[ウィジェットを閉じた後に維持] をオンにします。それ以外の場合は、ウィジェットを閉じると、フィルターが解除され、マップの初期状態に戻ります。