円グラフ・テーマ・タグを使用すると、マップ上の指定された場所に関連した統計を表示できます。このテーマでは、指定された場所に関連したデータ値を表す円グラフが、その場所に表示されます。たとえば、このタグを使用して、各店舗での複数の商品の売上額を示す円グラフを店舗の場所に表示できます。
円グラフ・テーマが作成されると、グラフの区分にデフォルトの色が割り当てられます。この色をカスタマイズするには、ビルトインのスタイルを使用するか、またはmapPieSliceSetタグおよびmapPieSliceItemタグを使用します。
マップで1度に参照可能なグラフ・テーマ(棒または円)は1つのみです。
円グラフ・テーマでは、基本のモデルを使用して、テーマで表示されるデータを抽象化します。具体的なモデル・クラスは、oracle.adf.view.faces.bi.model.GeoMapDataModel
です。GeoMapDataModelには、各円グラフに関連付けられている場所およびデータに関する情報が含まれています。モデルを設定するには、mapPieGraphThemeタグのvalue属性を使用します。
円グラフ・テーマにスタイルを適用して、円グラフの区分のカラー・スキームをカスタマイズできます。これを行うには、styleName属性を使用します。この属性は、いずれか1つの事前定義スタイルの名前または必要なスタイルが定義されているカスタムXMLファイルのパスに設定できます。円グラフの区分それぞれの色を個別に設定するには、mapPieSliceSetタグおよびmapPieSliceItemタグを使用します。
次の例では、円グラフ・テーマで事前定義済の「オータム」スタイルが使用されています。
<dvt:map ...map attributes...> <dvt:mapPieGraphTheme id="mapPieGraphTheme1" themename="MAP_STATES_NAME" locationColumn="POLYGON_NAME" value="#{backingBean.geoMapModel}" stylename="Autumn"/> </dvt:map>
この円グラフ・テーマ・レイヤーのベースとするベース・マップ・テーマがthemeName属性によって指定されています。ベース・マップ・テーマとベース・マップは同じデータソースに属している必要があります。
OracleがホスティングするeLocationサービスを使用してMapコンポーネントを構成する場合は、このタグのthemeName属性を次の5つのいずれかに設定する必要があります。
データ・モデルには、選択したベース・マップ・テーマに応じて対応する多角形の名前が必要です。MAP_STATES_ABBRVを選択した場合、データ・モデルには行を該当する多角形と一致させるための州略称が必要です。
デフォルトでは、mapPieGraphThemeのIDは、凡例またはテーマ選択ダイアログにテーマが表示される場合のラベルとして使用されます。ただし、各mapPieGraphThemeタグには、テーマのオプション・ラベルとして機能する次の属性があります。
凡例の各区分の色のラベルは、該当するテーマの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 | なし | このコンポーネントのID。 |
themeName | java.lang.String | あり | このテーマ層のベースとする事前定義済のテーマを指定します。テーマとベース・マップは同じデータソースに属している必要があります。テーマはmapbuilderで定義します。詳細は、MapViewerのドキュメントを参照してください。 |
shortLabel | java.lang.String | なし | 凡例に表示するこのテーマのラベルを指定します。この属性を指定しないと、テーマのIDが凡例のラベルとして使用されます。 |
menuLabel | java.lang.String | なし | ThemeSelectionDialogおよびSelectMenuItemに表示するこのテーマのラベルを指定します。この属性を指定しないと、テーマのIDが使用されます。 |
minZoom | int | なし | このテーマを最小限どのズーム・スケールまで表示できるかを指定します。 |
maxZoom | int | なし | このテーマを最大限どのズーム・スケールまで表示できるかを指定します。 |
styleName | java.lang.String | なし |
指定されたXMLファイルに基づいて円グラフの区分にスタイルを適用します。有効な値は、標準スタイルの名前、またはこのマップのスタイルとして設定するカスタムXMLファイルへのパスです。 事前定義済のマップ・スタイルは次のとおりです。
|
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); } } |
clickAction | java.lang.String | なし | マップのナビゲーション処理を実行し、結果文字列を返すバッキングBeanメソッドを参照します。静的な結果文字列を指定することもできます。JSF NavigationHandlerは、アプリケーション構成リソース・ファイル内のナビゲーション・ルールにその結果文字列を照らし合わせて、次に表示するページを選択します。ナビゲーション・ルールはアプリケーションによって書き込まれます。 |
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()); } |
leftClickBehavior | java.lang.String | なし | ユーザーがテーマの要素を左クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
|
rightClickBehavior | java.lang.String | なし | ユーザーがテーマの要素を右クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
|
locationColumn | java.lang.String | なし | テーマの基になる表の列に含まれる多角形の名前を指定します。この列は、value属性のmapModelの場所列との結合に使用されます。 |
useWindow | boolean | なし | このコマンドで起動するプロセスを第2のダイアログ・ウィンドウで起動するかどうかを指定します。useWindowは、ダイアログの場合、つまりactionがdialog:から始まる場合にのみ機能します。ダイアログを既存のウィンドウ内に表示する場合には、useWindowをfalseに設定してください。 |
windowWidth | int | なし | useWindowがtrueである場合に、ウィンドウの幅を指定します。 |
windowHeight | int | なし | useWindowがtrueである場合に、ウィンドウの高さを指定します。 |
infoWindowCallback | java.lang.String | なし | 情報ウィンドウのデフォルトのテキストをオーバーライドするためのコールバックを指定します。 |
pieRadius | int | なし | 円グラフの半径を指定します。デフォルト値は5です。 |
rendered | boolean | なし | テーマをレンダリングするかどうかを指定します |
value | java.lang.String | なし | テーマのデータ・モデルを指定します。oracle.adf.view.faces.bi.model.GeoMapDataModelのインスタンスである必要があります。 |