mapPointThemeタグは、<dvt:map>タグ内で使用して、点のセットをレンダリングします。各点のレンダリングを指定するには、カスタム・イメージまたはビルトイン・イメージを使用するか、またはhtmlタグを指定します。点のテーマによって、各点が適切な位置に表示され、点のスタイルが指定された属性に基づいて適切に指定されます。
各点に関連付けられている位置およびデータは、データ・モデルで指定されています。点のテーマを点スタイルのアイテム・タグとともに使用して、点の表示を指定します。
点のテーマのデータ・モデルを指定するには、oracle.adf.view.faces.bi.model.GeoMapDataModel
のインスタンスを使用する必要があります。
GeoMapDataModelは、GeoRowObjectインスタンスのコレクションであり、これにはGeoObjectインスタンスに保存されている各点の位置情報が格納されています。点の位置は、GeoObjectインスタンスで2つの方法で指定できます。
データ・モデルの作成方法は、javadocを参照してください。
点のテーマを点スタイルのアイテムタグとともに使用すると、モデル内の点のレンダリングを指定する様々なオプションが提供されます。
型 | 説明および例 |
---|---|
ビルトイン・イメージ |
点のテーマには、標準、選択済、ホバーの各状態を含むビルトイン・イメージのコレクションがあります。次の点を考慮してください。
次の例では、すべての点が、デフォルトのオレンジ色の球ではなく、ビルトインのオレンジ色の大きなピンを使用して表示されています。 <dvt:map ...map attributes...> <dvt:mapPointTheme id= "theme1" value="#{backingBean.geoMapModel}" builtInImage="OrangePinLarge"/> <-- Changes default rendering of all points --> </dvt:map> |
カスタム・イメージ |
データ・モデル内のすべての点にカスタム・イメージを指定するか、または点に関連付けられているデータ値に基づいて異なるイメージを表示するには、1つ以上の点スタイルのアイテム・タグを点のテーマに追加して、適切な属性を指定します。 |
HTML |
customPointCallback属性に値を指定すると、データ・モデルの各点の点のテーマに、点を表すHTMLが返されます。点のテーマは、点の位置にそのHTMLをレンダリングします。 この属性では、引数として 次の例では、mapPointThemeがメソッド式backingBean.processPointInfoにバインドされています。 <dvt:map ...map attributes...> <dvt:mapPointTheme id= "theme1" customPointCallback="#{backingBean.processPointInfo}" value="#{backingBean.geoMapModel}"/> </dvt:map> カスタムHTMLコンテンツを生成するメソッドは、次のとおりです。 public PointContent processPointInfo(DataContent dataContent) { String pointHTML = "<div>" + dataContent.getValues()[0] + "</div>"; String selectHTML = "<div><b>You are selected</b></div>"; String hoverHTML = "<div><b>Mouse over</b></div>"; PointContent pContent = new PointContent(pointHTML, selectHTML, hoverHTML); return pContent; } |
点のテーマでは、エンド・ユーザーがマップ上の点をクリックしたり、点の上にマウスを置いた場合の様々な動作を指定できます。
アクション・タイプ | 説明および例 |
---|---|
左クリック |
<dvt:map ...map attributes...> <f:facet name="popup"> <af:dialog title="TestPopup" modal="true"> <af:panelGroupLayout layout="vertical"> <af:image id="photoImage" source="#{popupBean.imageSrc}"/> </af:panelGroupLayout> </af:dialog> </f:facet> <dvt:mapPointTheme id= "theme1" clickListener="#{popupBean.processClickAction}" value="#{backingBean.geoMapModel}" leftClickBehavior="Popup"/> </dvt:map> |
右クリック |
<dvt:map ...map attributes...> <f:facet name="rtPopup"> <af:menu> <af:commandMenuItem text="menu1"/> <af:commandMenuItem text="menu2"/> <af:commandMenuItem text="menu3"/> </af:menu> </f:facet> <dvt:mapPointTheme id= "theme1" clickListener="#{popupBean.processClickAction}" value="#{backingBean.geoMapModel}" rightClickBehavior="Popup"/> </dvt:map> |
ホバー |
<dvt:map ...map attributes...> <dvt:mapPointTheme hoverBehavior="InfoWindow" value="#{backingBean.geoMapModel}"/> </dvt:map> |
デフォルトでは、mapPointThemeのIDは、凡例またはテーマ選択ダイアログにテーマが表示される場合のラベルとして使用されます。ただし、各mapPointThemeタグには、テーマのオプション・ラベルとして機能する次の属性があります。
凡例の各点の色のラベルは、該当するテーマのGeoMapDataModelを作成するために使用されたラベルによって特定されます。
点のテーマでは、次の子タグがサポートされています。
型 | フェーズ | 説明 |
---|---|---|
oracle.adf.view.faces.bi.event.MapSelectionEvent | リクエスト値の適用 | ユーザーがマップ上でリージョンの選択を完了するか、リージョンの選択を解除すると、MapSelectionEventが起動されます。長方形ツール、円形ツール、多角形ツールまたは点ツールを使用してリージョンを選択でき、マップ上で右クリックすると選択が解除されます。 |
oracle.adf.view.faces.bi.event.MapClickActionEvent | リクエスト値の適用 | ユーザーがテーマの要素を左クリックまたは右クリックすると、MapClickActionEventが起動されます。 |
名前 | 型 | ELのサポート | 説明 |
---|---|---|---|
id | java.lang.String | なし | コンポーネントの識別子 |
rendered | boolean | なし | テーマをレンダリングするかどうかを指定します |
value | java.lang.String | なし | テーマのデータ・モデルを指定します。oracle.adf.view.faces.bi.model.GeoMapDataModelのインスタンスである必要があります。 |
shortLabel | java.lang.String | なし | 凡例に表示するこのテーマのラベルを指定します。この属性を指定しないと、テーマのIDが凡例のラベルとして使用されます。 |
menuLabel | java.lang.String | なし | ThemeSelectionDialogおよびSelectMenuItemに表示するこのテーマのラベルを指定します。この属性を指定しないと、テーマのIDが使用されます。 |
builtInImage | java.lang.String | なし |
この点スタイルのアイテムのビルトイン・イメージを指定します。ビルトイン・イメージにはそれぞれ、一連の標準イメージ、選択したときのイメージおよびマウスカーソルが重ねられたときのイメージがあります。 ビルトイン・イメージは、次のとおりです。
|
overlayText | java.lang.String | なし | |
overlayStyle | java.lang.String | なし | |
overlayClass | java.lang.String | なし | |
defaultItemLabel | java.lang.String | なし | 凡例の点スタイルのラベルを指定します。pointStyleItemが1つも指定されていない場合は、点テーマのすべての点に対してデフォルトの点イメージが表示されます。この属性を使用すると、pointStyleItemが指定されていない場合に凡例で表示する点のラベルをカスタマイズできます。 |
animationEffect | java.lang.String | なし | ADSに使用するanimationEffect |
minZoom | int | なし | このテーマを最小限どのズーム・スケールまで表示できるかを指定します。 |
maxZoom | int | なし | このテーマを最大限どのズーム・スケールまで表示できるかを指定します。 |
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 | なし | ユーザーがテーマの要素を右クリックしたときの動作を指定します。有効なテーマの値は次のとおりです。
|
useWindow | boolean | なし | このコマンドで起動するプロセスを第2のダイアログ・ウィンドウで起動するかどうかを指定します。useWindowは、ダイアログの場合、つまりactionがdialog:から始まる場合にのみ機能します。ダイアログを既存のウィンドウ内に表示する場合には、useWindowをfalseに設定してください。 |
windowWidth | int | なし | useWindowがtrueである場合に、ウィンドウの幅を指定します。 |
windowHeight | int | なし | useWindowがtrueである場合に、ウィンドウの高さを指定します。 |
infoWindowCallback | java.lang.String | なし | 情報ウィンドウのデフォルトのテキストをオーバーライドするためのコールバックを指定します。 |
customPointCallback | java.lang.String | なし | 点をオーバーライドするためのコールバックを指定します。この属性の値は、oracle.adf.view.faces.bi.component.geoMap.PointContent を返すメソッド式であり、パラメータとしてoracle.adf.view.faces.bi.component.geoMap.DataContent を取ります。このコールバックを指定すると、点ごとにカスタムHTMLを表示できます。DataContentオブジェクトには、点の表示方法を決定するために必要なすべての情報が含まれます。 この属性は、mapPointStyleItemよりも優先順位が高くなっています。そのため、この属性を設定すると、mapPointStyleItemタグはすべて無視されます。 |
customLegendCallback | java.lang.String | なし | pointThemeに対してcustomPointCallbackを使用する場合に、凡例を表示するためのコールバックを指定します。 |
hoverBehavior | java.lang.String | なし | ユーザーがpointThemeの点の上にマウス・ポインタを置いたときの動作を指定します。有効なテーマの値は次のとおりです。
|