The Pie Graph Theme tag provides the ability to show statistics related to given locations on a map. This theme displays a pie graph at points to represent data values associated with those locations. For example, this tag might be used to display a pie graph at store locations to show sales values for a number of products at each store.
When a Pie Graph Theme is created, default colors are assigned to the slices in the graph. These colors can be customized with built-in styles or by using the mapPieSliceSet and the mapPieSliceItem tags.
Only one Graph Theme (Bar or Pie) can be visible in a map at a given time
The Pie Graph Theme uses an underlying model to abstract the data that gets displayed in the theme. The specific model class is oracle.adf.view.faces.bi.model.GeoMapDataModel
. The GeoMapDataModel contains information about the location and data associated with each pie graph. The model can be set through the value attribute of the mapPieGraphTheme tag.
Styles can be applied to the Pie Graph Theme to customize the color scheme of the pie slices. This is done with the styleName attribute. This attribute can be set to either the name of one of the predefined styles or the path of a custom XML file that defines the desired style. To set the color of each pie slice individually, use the mapPieSliceSet and mapPieSliceItem tags.
In the example below, the Pie Graph Theme uses the predefined "Autumn" style
<dvt:map ...map attributes...> <dvt:mapPieGraphTheme id="mapPieGraphTheme1" themename="MAP_STATES_NAME" locationColumn="POLYGON_NAME" value="#{backingBean.geoMapModel}" stylename="Autumn"/> </dvt:map>
The base map theme on which this Pie Graph Theme layer is based is specified by the themeName attribute. This base map theme must come from the same data source as the base map.
If you are using Oracle's hosted eLocation services to configure the Map component, the themeName attribute for this tag should be set to one of the following five choices:
Depending on the base map theme you choose your data model should have the corresponding polygon names. If you choose MAP_STATES_ABBRV then your data model must have state abbreviations for matching the rows with the appropriate polygons.
By default, the ID of the mapPieGraphTheme is used as the label when that theme is displayed in the legend or in the Theme Selection dialog. However, each mapPieGraphTheme tag has the following attributes that serve as optional labels for the theme:
The labels for each slice color in the legend are determined by the labels that were used to create the GeoMapDataModel for this theme.
The Pie Graph Theme supports the ability to select one or more pie graphs on the map using the mapToolbar's rectangle/circle/polygon/point selection tools. When the user defines a selected area on the map, any of the pie graphs that fall within the selected area will be highlighted and the selectionListener will be fired.
Type | Phases | Description |
---|---|---|
oracle.adf.view.faces.bi.event.MapSelectionEvent | Apply Request Values | MapSelectionEvent is fired when the user finishes selecting a region on the map, or when the user unselects the region. The rectangle tool, circle tool, polygon tool, or point tool can be used to select a region, and right clicking on the map will unselect it |
oracle.adf.view.faces.bi.event.MapClickActionEvent | Apply Request Values | MapClickActionEvent is fired when the user left clicks or right clicks on an element of the theme. |
Name | Type | Supports EL? | Description |
---|---|---|---|
id | java.lang.String | no | The id for this component |
themeName | java.lang.String | yes | Specifies the predefined theme on which this theme layer is based. The theme must come from the same data source as the base map. The theme is defined in mapbuilder. For detail, please refer to the documentation of mapviewer. |
shortLabel | java.lang.String | no | Specifies the label of this theme on the legend. If the attribute is not specified, the id of the theme will be used as the label on the legend. |
menuLabel | java.lang.String | no | Specifies the label of this theme on the ThemeSelectionDialog and SelectMenuItem. If the attribute is not specified, the id of the theme will be used. |
minZoom | int | no | Specifies the minimum zoom scale where this theme will still be visible. |
maxZoom | int | no | Specifies the maximum zoom scale where this theme will still be visible. |
styleName | java.lang.String | no |
Applies a style to the slices of the pie based on the specified XML file. Valid values are the name of a standard style or the path of a custom XML file that you want to set as a style for this map. Predefined map styles are:
|
selectionListener | java.lang.String | no | a method reference to a selection listener Refers to a backing bean method that takes MapSelectionEvent as an argument. The MapSelectionEvent contains the information on the selected region. Sample code:
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 | no | Refers to a backing bean method that performs navigation processing for the map and returns an outcome String. Or a static outcome String can be specified. The JSF NavigationHandler selects the page to display next by matching the outcome String against the navigation rules in the application configuration resource file. The application writes the Navigation rules. |
clickListener | java.lang.String | no | a method reference to a click listener Refers to a backing bean method that takes MapClickActionEvent as an argument. The MapClickActionEvent contains the information on the clicked point. Sample code:
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 | no | Specifies the behavior when user left clicks on an element of a theme. Valid value of theme are:
|
rightClickBehavior | java.lang.String | no | Specifies the behavior when user right clicks on an element of a theme. Valid value of theme are:
|
locationColumn | java.lang.String | no | Specifies the name of a polygon in the column of the underlying table of the theme. This column is used to join with the location column in the mapModel of the value attribute. |
useWindow | boolean | no | Specifies whether processes launched by this command should be launched in a secondary dialog window. 'useWindow' works only in the case of dialogs i.e, if the "action" starts with a "dialog:". Set useWindow to 'false' for the dialog to be opened in the existing window. |
windowWidth | int | no | Specifies the width of the window if useWindow is true |
windowHeight | int | no | Specifies the height of the window if useWindow is true |
infoWindowCallback | java.lang.String | no | Specifies a callback for overriding the default text in the info Window. |
pieRadius | int | no | Specfies the radius of the pie charts. The default value is 5. |
rendered | boolean | no | Specifies whether the theme is rendered or not |
value | java.lang.String | no | Specifies the data model for theme - have to be an instance of oracle.adf.view.faces.bi.model.GeoMapDataModel |