<dvt:mapPieGraphTheme>

mapPieGraphTheme map pie graph theme


円グラフ・テーマ・タグを使用すると、マップ上の指定された場所に関連した統計を表示できます。このテーマでは、指定された場所に関連したデータ値を表す円グラフが、その場所に表示されます。たとえば、このタグを使用して、各店舗での複数の商品の売上額を示す円グラフを店舗の場所に表示できます。

円グラフ・テーマが作成されると、グラフの区分にデフォルトの色が割り当てられます。この色をカスタマイズするには、ビルトインのスタイルを使用するか、または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ファイルへのパスです。

事前定義済のマップ・スタイルは次のとおりです。

  • 4月
  • オータム
  • モノクロ
  • 彗星
  • 紙吹雪
  • アース
  • エグゼキュティブ
  • 会計
  • ガラス
  • 航海
  • 予測
  • レガッタ
  • 南西部
  • 透明
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 なし ユーザーがテーマの要素を左クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
  • Action: アクション・イベントが発行されます。
  • Popup: ポップアップが表示されます。ポップアップのコンテンツは、マップのポップアップ・ファセットに定義されます。
  • InfoWindow: InfoWindowが表示されます。ユーザーは、infoWindowCallbackによってinfoWindowのコンテンツをさらにカスタマイズできます。
  • None: 何も実行されません。
rightClickBehavior java.lang.String なし ユーザーがテーマの要素を右クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
  • Popup: ポップアップが表示されます。ポップアップのコンテンツは、マップのrtPopupファセットに定義されます。
  • None: 何も実行されません。
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のインスタンスである必要があります。