グループ フィルター ウィジェット

グループ フィルター ウィジェットでは、マップ内の 1 つ以上のレイヤーにフィルターを適用できます。 レイヤーは論理フィルター セットにグループされます。 ユーザーが操作しやすいよう、各セットにはあらかじめ定義された値を設定できます。

グループ フィルター ウィジェットの構成

このウィジェットは、アプリの起動時に自動的に開くように設定できます。 ウィジェットにポインターを合わせて、ウィジェット上の [アプリの起動時に、このウィジェットを開かない] ボタン アプリの起動時に、このウィジェットを開かない をクリックし、設定を [アプリの起動時に、このウィジェットを自動的に開く] に変更します。 (最初にアプリに追加する必要があるウィジェットについては、ウィジェットを構成した後でこのオプションをオンにすることができます。)

次に、フィルター セットの作成手順を示します。 フィルター セットを追加で定義する必要がある場合は、これらの手順を繰り返します。

  1. ウィジェット上にマウス ポインターを合わせて、[このウィジェットを構成] ボタン このウィジェットを構成 をクリックして、構成ウィンドウを開きます。
    注意:

    最初にウィジェットをアプリに追加する必要がある場合は、[ウィジェット] タブのウィジェット プレースホルダーをクリックします。 表示される [ウィジェットの選択] ウィンドウで、ウィジェットを選択し、[OK] をクリックします。

  2. 必要に応じ、[ウィジェット アイコンの変更] をクリックして、このウィジェットのデフォルト アイコンを変更します。
    ファイル エクスプローラー ウィンドウが表示され、ウィジェット アイコンとして使用するローカル イメージ ファイルを選択できます。

    構成には、変更できる状態のフィルター グループが 1 つ表示されます。

  3. フィルター グループの定義:
    • [グループ名] - このフィルター グループの名前を入力します。 これは、使用可能なフィルター グループのドロップダウンに表示されます。
    • [説明] - 必要に応じ、このグループがフィルターする内容を説明文に追加できます。
    • [設定済みの演算子] - 必要に応じ、このフィルター グループで使用するデフォルトの演算子を選択します。 エンド ユーザーは、選択した演算子を変更してから、フィルターを適用できます。 演算子を選択しなければ、フィルターではデフォルトで EQUALS (等しい) 演算子が使用されます。
    • [設定済みの値] - このフィルターの値をあらかじめ設定しておくと、エンド ユーザーがこの基準を指定する必要がなくなります。 値を入力するか、検索ボタンをクリックして既存のレイヤーから値を選択できます。 この値は、フィルター グループで定義されたすべてのレイヤーのフィルターで使用されます。
    • [レイヤーが複数回リストに表示されている場合] - レイヤーがフィルター グループに複数回リストされており、フィルターが複数のフィールドに適用されている場合、式のいずれかまたはすべてを照合することで、これらのフィルターの結合方法を制御できます。
      • [式のいずれかに一致] - フィルターの結果は、いずれかのフィールド値がこのフィルター グループに対して定義された式に一致するフィーチャを返します。
      • [すべての式に一致] - フィルターの結果は、すべてのフィールド値がこのフィルター グループに対して定義された式に一致するフィーチャのみを返します。
    • [大文字/小文字を区別して検索を実行] - チェックボックスをオンにし、大文字と小文字を区別する検索入力に完全に一致する属性値があるフィーチャだけを返します。
  4. 例をすぐに確認できるよう、表示されるテーブルでは、レイヤーとフィールドはマップからランダムに選択されます。 フィルターを適用するレイヤーとフィールドをカスタマイズします。
    • [レイヤー] - マップで定義されているレイヤーの名前。 ドロップダウンを使用し、マップからレイヤーを選択します。
    • [フィールド] - レイヤーのフィルター処理に使用されるフィールド。 ドロップダウンを使用し、レイヤーからフィールドを選択します。
    • [値の使用] - フィルター処理する値オプションのリストとして、ドロップダウンからこのレイヤーとフィールドの値を使用するオプション。 レイヤーに対してこのパラメーターが有効になっていない場合は、空のテキスト ボックスが表示されるので、ユーザーがカスタム値を入力できます。 この設定は省略可能です。
  5. このフィルター グループに別のレイヤーを追加するには、[レイヤーの追加] ボタンをクリックします。
  6. 別のフィルター グループを追加するには、[新規グループの追加] ボタンをクリックします。 必要に応じて、手順 3 ~ 5 を繰り返します。
  7. [フィルターの選択セットの上に表示するテキストを指定] テキスト ボックスを使用して、ウィジェットのカスタム ヘッダー テキストを指定します。
  8. 次の 6 つのチェックボックスは、ウィジェットの動作を制御します。
    • [シンプルなビューで開始] - エンド ユーザーにウィジェットを表示する方法を指定します。 このチェックボックスをオンにすると、演算子ドロップダウン リストと [条件の追加] ボタンがインターフェイスに表示されなくなり、基本的な外観になります。
    • [ウィジェット オプションを非表示] - その他のウィジェット設定を開くアイコンを非表示にするかどうかを指定します。 これには、定義済みフィルターの保存と読み込み、マップ内の既存のフィルター定義への付加 (ある場合)、ウィジェットを閉じた後にフィルターを維持する設定などがあります。
    • [既存のマップ フィルターに式のいずれかを追加] / [既存のマップ フィルターにすべての式を追加] - Web マップに事前に定義された既存のフィルターが適用されている場合、この設定を使用すると、このウィジェットで作成したフィルターを既存の Web マップ フィルターに追加できます。 この設定では複数のグループでフィルターが維持されます。 オフにすると、このウィジェットは Web マップ フィルターを無視します。
      • [既存のマップ フィルターに式のいずれかを追加] は付加的で、構成したフィルターが Web マップ フィルターに追加されます。
      • [既存のマップ フィルターにすべての式を追加] は排他的で、構成したフィルターと Web マップ フィルター両方の要件を満たすフィーチャだけが表示されます。
    • [結果にズーム] - マップをフィルタリングされたデータの範囲にズームするかどうかを決定します。 デフォルトでは、マップは現在の範囲を維持します。
    • [ウィジェットを閉じた後にフィルターを維持] - ウィジェットを閉じたときに、適用したフィルターを維持できます。 デフォルトでは、ウィジェットを閉じたときにフィルターもマップからクリアされます。
    • [ヘッダーとフィルターを非表示 (1 つのフィルター グループ)] - 1 つのグループのみが構成されている場合にヘッダーとフィルター グループ ドロップダウン メニューを非表示にできます。

グループ フィルター ウィジェットの使用

このウィジェットを使用するには、次の手順を実行します。

  1. [グループ フィルター] ウィジェットをクリックすると、事前に定義されたフィルター グループの選択肢が表示されます。

    事前定義済みフィルター セットの適用

    分割線の下に演算子と値の 2 つのドロップダウンが表示されます。 この例では、マップがフィルタリングされ、放置車両の苦情のみが表示されます。

    注意:

    ウィジェットのレイヤーの設定に応じ、演算子ドロップダウン リストの後には、(この例のような) 値のリスト、ユーザー入力用のテキスト ボックス、日付ピッカーのいずれかが表示されます。

  2. [適用] をクリックして、マップにフィルターを適用します。

    必要に応じて、パラメーターをアプリの 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 で定義されたフィルターはウィジェットを開くまで適用されません。

  3. [リセット] をクリックするとフィルターが解除され、マップ レイヤーは初期状態に戻ります (デフォルトでは、ウィジェットを閉じると、フィルターも解除されます)。
  4. ウィジェットを使用すると、実行時にフィルター条件を追加できます。 [条件の追加] をクリックして、条件を追加します。 2 つの条件が接続詞で結合されています。 [OR] または [AND] を使用して結合できます。

    フィルター条件の追加

    この例に示したフィルターを適用するために URL パラメーターを使用するには、URL は次のサンプルのようになります。

    https://<your portal URL>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&groupfilter={"Group A":["Abandoned Motor Vehicle","Auto Theft"]}

  5. ウィジェット構成で [ウィジェット オプションを非表示] の設定がオンになっている場合を除き、これらの定義済みの条件の設定を保存して再利用できます。 設定ボタン 設定 をクリックし、オプション パネルにアクセスします。

    [保存] オプション

    1. [保存] ボタンをクリックすると、現在のフィルター設定が JSON テキスト ファイルにローカルに保存されます。
    2. [設定ファイルのアップロード][ファイルの選択] をクリックすると、過去に保存された JSON テキスト ファイルを読み込んで、ファイルに定義されたすべての条件を元に戻すことができます。
    3. 他のウィジェットでフィルター処理されたマップを使用する必要がある場合は、[ウィジェットを閉じた後にフィルターを維持] をオンにします。 それ以外の場合は、ウィジェットを閉じると、マップのレイヤーに適用されたフィルターが解除されます。
    4. [更新] ボタンをクリックし、マップ内のレイヤーからデータ変更を取得し、フィルター ドロップダウン内の値のリストを更新します。 この操作は、フィルター処理されているレイヤーが現在のアプリ セッション中に編集され、それが使用可能な値のリストに影響を及ぼした場合に必要になります。