棒グラフ・テーマ・タグを使用すると、マップ上の指定された場所に関連した統計を表示できます。このテーマでは、指定された場所に関連したデータ値を表す棒グラフが、その場所に表示されます。たとえば、このタグを使用して、各倉庫の在庫レベルを示す棒グラフを倉庫の場所に表示できます。
棒グラフ・テーマが作成されると、グラフの棒にデフォルトの色が割り当てられます。この色をカスタマイズするには、ビルトインのスタイルを使用するか、またはmapBarSeriesSetタグおよびmapBarSeriesItemタグを使用します。
マップで1度に参照可能なグラフ・テーマ(棒または円)は1つのみです。
棒グラフ・テーマでは、基本のモデルを使用して、テーマで表示されるデータを抽象化します。具体的なモデル・クラスは、oracle.adf.view.faces.bi.model.GeoMapDataModel
です。GeoMapDataModelには、各棒グラフに関連付けられている場所およびデータに関する情報が含まれています。モデルを設定するには、mapBarGraphThemeタグのvalue属性を使用します。
棒グラフ・テーマにスタイルを適用して、棒の色スキームをカスタマイズできます。これを行うには、styleName属性を使用します。この属性は、いずれか1つの事前定義スタイルの名前、または希望するスタイルを定義しているカスタムXMLファイルのパスに設定できます。各棒の色を個別に設定するには、mapBarSeriesSetタグおよびmapBarSeriesItemタグを使用します。
次の例では、棒グラフ・テーマで事前定義済の「オータム」スタイルが使用されています。
<dvt:map ...map attributes...> <dvt:mapBarGraphTheme id="mapBarGraphTheme1" themename="MAP_STATES_NAME" locationColumn="POLYGON_NAME" value="#{backingBean.geoMapModel}" stylename="Autumn"/> </dvt:map>
この棒グラフ・テーマ・レイヤーのベースとするベース・マップ・テーマがthemeName属性によって指定されています。このベース・マップ・テーマとベース・マップは同じデータソースに属している必要があります。
OracleがホスティングするeLocationサービスを使用してMapコンポーネントを構成する場合は、このタグのthemeName属性を次の5つのいずれかに設定する必要があります。
データ・モデルには、選択したベース・マップ・テーマに応じて対応する多角形の名前が必要です。MAP_STATES_ABBRVを選択した場合、データ・モデルには行を該当する多角形と一致させるための州略称が必要です。
デフォルトでは、mapBarGraphThemeのIDは、凡例またはテーマ選択ダイアログ・ボックスにテーマが表示される場合のラベルとして使用されます。ただし、各mapBarGraphThemeタグには、テーマのオプション・ラベルとして機能する次の属性があります。
凡例の各棒の色のラベルは、該当するテーマのGeoMapDataModelを作成するために使用されたラベルによって特定されます。
棒グラフ・テーマでは、mapToolbarの長方形選択ツール、円選択ツール、多角形選択ツールまたは点選択ツールを使用してマップ上の棒グラフを1つ以上選択する機能がサポートされています。ユーザーがマップ上の選択済領域を定義すると、この選択領域に含まれるすべての棒グラフが強調表示され、selectionListenerが起動されます。
型 | フェーズ | 説明 |
---|---|---|
oracle.adf.view.faces.bi.event.MapSelectionEvent | リクエスト値の適用 | ユーザーがマップ上でリージョンの選択を完了するか、リージョンの選択を解除すると、MapSelectionEventが起動されます。長方形ツール、円形ツール、多角形ツールまたは点ツールを使用してリージョンを選択でき、マップ上で右クリックすると選択が解除されます。 |
oracle.adf.view.faces.bi.event.MapClickActionEvent | リクエスト値の適用 | ユーザーがテーマの要素を左クリックまたは右クリックすると、MapClickActionEventが起動されます。 |
名前 | 型 | ELのサポート | 説明 |
---|---|---|---|
id | java.lang.String | なし | コンポーネントの識別子 |
themeName | java.lang.String | あり | このテーマ層のベースとする事前定義済のテーマを指定します。テーマとベース・マップは同じデータソースに属している必要があります。テーマはmapbuilderで定義します。詳細は、MapViewerのドキュメントを参照してください。 |
styleName | java.lang.String | なし |
指定されたXMLファイルに基づいて棒グラフの区分にスタイルを適用します。有効な値は、標準スタイルの名前、またはこのマップのスタイルとして設定するカスタムXMLファイルへのパスです。 事前定義済のマップ・スタイルは次のとおりです。
|
shortLabel | java.lang.String | なし | 凡例に表示するこのテーマのラベルを指定します。この属性を指定しないと、テーマのIDが凡例のラベルとして使用されます。 |
menuLabel | java.lang.String | なし | ThemeSelectionDialogおよびSelectMenuItemに表示するこのテーマのラベルを指定します。この属性を指定しないと、テーマのIDが使用されます。 |
minZoom | int | なし | このテーマを最小限どのズーム・スケールまで表示できるかを指定します。 |
maxZoom | int | なし | このテーマを最大限どのズーム・スケールまで表示できるかを指定します。 |
barWidth | int | なし | 棒グラフの幅を指定します。デフォルト値は40です。 |
barHeight | int | なし | 棒グラフの高さを指定します。デフォルト値は40です。 |
showXAxis | boolean | なし | 棒グラフのX軸を表示するかどうかを指定します。デフォルト値はtrueです。 |
rendered | boolean | なし | テーマをレンダリングするかどうかを指定します。デフォルト値はtrueです。 |
clickListener | java.lang.String | なし | クリック・リスナーへのメソッド・リファレンス。引数としてMapClickActionEventを取るバッキングBeanメソッドを参照します。MapClickActionEventには、クリックされたポイントに関する情報が含まれます。サンプル・コードを次に示します。
public void processMouseClick(MapClickActionEvent mapClickActionEvent) { if (mapClickActionEvent.getDataContent() != null) { DataContent dt = mapClickActionEvent.getDataContent(); System.out.println ("Location Name: " + dt.getLocationName()); } System.out.println("MouseX " + mapClickActionEvent.getMouseX()); System.out.println("MouseY " + mapClickActionEvent.getMouseY()); } |
clickAction | java.lang.String | なし | マップのナビゲーション処理を実行し、結果文字列を返すバッキングBeanメソッドを参照します。静的な結果文字列を指定することもできます。JSF NavigationHandlerは、アプリケーション構成リソース・ファイル内のナビゲーション・ルールにその結果文字列を照らし合わせて、次に表示するページを選択します。ナビゲーション・ルールはアプリケーションによって書き込まれます。 |
leftClickBehavior | java.lang.String | なし | ユーザーがテーマの要素を左クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
|
rightClickBehavior | java.lang.String | なし | ユーザーがテーマの要素を右クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
|
selectionListener | java.lang.String | なし | 選択リスナーへのメソッド・リファレンス。引数としてMapSelectionEventを取るバッキングBeanメソッドを参照します。MapSelectionEventには、選択されたリージョンに関する情報が含まれます。サンプル・コードを次に示します。
public void processSelection(MapSelectionEvent mapSelectionEvent) { Iterator iterator = mapSelectionEvent.getIterator(); while (iterator.hasNext()) { DataContent dt = (DataContent)iterator.next(); String selectedLocation = dt.getLocationName(); System.out.println (selectedLocation); } } |
infoWindowCallback | java.lang.String | なし | 情報ウィンドウのデフォルトのテキストをオーバーライドするためのコールバックを指定します。 |
useWindow | boolean | なし | このコマンドで起動するプロセスを第2のダイアログ・ウィンドウで起動するかどうかを指定します。useWindowは、ダイアログの場合、つまりactionがdialog:から始まる場合にのみ機能します。ダイアログを既存のウィンドウ内に表示する場合には、useWindowをfalseに設定してください。 |
windowWidth | int | なし | useWindowがtrueである場合に、ウィンドウの幅を指定します。 |
windowHeight | int | なし | useWindowがtrueである場合に、ウィンドウの高さを指定します。 |
locationColumn | java.lang.String | なし | テーマの基になる表の列に含まれる多角形の名前を指定します。この列は、value属性のmapModelの場所列との結合に使用されます。 |
value | java.lang.String | なし | テーマのデータ・モデルを指定します。oracle.adf.view.faces.bi.model.GeoMapDataModelのインスタンスである必要があります。 |