New and Changed Features

This section describes major features that are new or changed since the previous release of MapViewer, which was included in Oracle Application Server Release This section groups the new features into "MapViewer Core" and "Oracle Maps" subsections.

In addition, the MapViewer JSP tag library and PL/SQL API are deprecated features. For more information, see the notes at the beginning of Chapter 5, "MapViewer JSP Tag Library" and Chapter 6, "MapViewer PL/SQL API".

MapViewer Core

This section describes features related to MapViewer generally, including the Map Builder Tool.

Secure Map Rendering

MapViewer now supports secure map rendering based on a Web user's identity. Users with different roles or permissions will see different feature sets when viewing the same theme. For more information, see Section 1.8.

WFS Themes

Web Feature Service (WFS) features can now be viewed through MapViewer's WFS themes. These themes support the parsing and caching of WFS capabilities, and the use of feature conditions and queries. WFS theme support also works with Oracle Maps; for example, you can display a WFS theme as an interactive feature of interest (FOI) layer. For information about WFS themes, see Section 2.3.7.

Map Builder Enhancements

The Map Builder tool now supports the creation of WFS themes and Annotation Text-based themes. The base map panel also supports identifying features (and a list of rendered themes) on mouse clicks. For information about Map Builder, see Chapter 9.

Improved Nonspatial Data Provider Support

MapViewer now supports a default provider and format for applications to supply XML-based nonspatial data for thematic mapping. You can also specify columns from the nonspatial data set to be used in conjunction with an advanced style. For information about thematic mapping using nonspatial external attribute data, see Section

Multiple Rendering Styles for a Single Feature

Previously, a feature could be rendered by only one rendering style. You can now use multiple rendering styles when rendering a theme's features. For example, you can shade a polygon with a color style while also plotting a pie chart on top of it, without defining two themes. This is done using stacked styles in a theme's definition. For an example of map request using stacked styles, see Section 3.1.13.

Automatic Reduction of Repetitive Labels

Previously, repetitive street labels or highway shields on linear features were displayed when such features consisted of many small segments. You can now use the Map Builder tool to specify the No Repetitive Labels option in the base map properties, to cause features (such as road segments) with same name to be labeled only once. For information about specific options in Map Builder, see the online help for that tool.

Scale Ranges for Theme Labeling

In the context of a base map, you can now assign scale limits to its themes' labels. These scale limits control when a theme's features will display their label texts. For more information and an example, see Section 2.4.1.

PDF Output

Full PDF map output support is provided. If you use PDF_URL or PDF_STREAM as the map format in your XML map request, MapViewer will generate vector PDF maps. For more information, see the explanation of the format attribute in Section

Text Style Enhancements

The TEXT style has been improved to support customizable spacing between letters. It also supports additional (vertical) alignment options when labeling linear features.

Heat Map Support

MapViewer now supports heat maps, which are two-dimensional color maps of point data sets. Heat map styles are described in Section A.6.8.

Scalable Styles

MapViewer now supports scalable styles. A scalable style (such as a MARKER or LINE style) uses real-world units such as meter or mile to specify its size and other dimensional attributes; however, at run time MapViewer automatically scales the style so that the features rendered by the style always show the correct size, regardless of the current map display scale. For information about using scalable styles, see Section 2.2.1.

Custom Tags for Theme and Base Map Definitions

The XML definition of a theme or base map now supports application-specific attribute tags. You can use the Custom Tags option in the theme definition in Map Builder to specify tags and their values, which can be interpreted by your application but are ignored by MapViewer itself.

Getting Style Names Referred to in a Predefined Theme

The new <list_theme_styles> element enables you to get the names of styles referred to in a predefined theme. This element is described in Section 7.5.

Simple URL Request to Get a Sample Image for a Style

You can now issue a simple URL request to the MapViewer server and get back a sample image of any style that you specified in the URL. This is useful if you want to build a custom map legend. For information about getting a sample image of any style, see Section 2.2.5.

Annotation Text

Support is provided for OpenGIS Consortium standard annotation text. Oracle Spatial in Oracle Database Release 11g supports storage of annotation text objects in the database, and MapViewer now supports displaying such annotation texts on a map. For information about annotation text themes, see Section 2.3.9.

Logging Mechanism Changes

A new logging mechanism based on Java logging is provided. You can also use the Oracle Application Server management console to customize how MapViewer logs things at run time.

Custom (External) Spatial Data Providers

MapViewer now supports rendering of geospatial data stored in non-Oracle Spatial repositories. This is achieved through a Custom Spatial Data Provider API, where you can implement an Interface that feeds your own (proprietary) spatial data to MapViewer for rendering. Note that you will still need an Oracle Database to manage the mapping metadata, such as styles and themes definitions. For more information, see Section

User-Specified JDBC Fetch Size for Predefined Themes

You can now specify a nondefault row fetch size on a theme, by setting the Fetch Size base map property with the Map Builder tool. MapViewer can use this value when fetching theme features from the database. Specifying an appropriate value can make performance tuning easier in certain situations.

New Array Types (MV_xxxLIST)

MapViewer uses the SQL array types MV_STRINGLIST, MV_NUMBERLIST, and MV_DATELIST, which support array-type binding variables that might exist in some predefined themes. In some situations, you will need to create these types. For more information, see Section

transparent_nodata Attribute for GeoRaster Themes

The optional transparent_nodata attribute can be specified for GeoRaster themes (described in Section 2.3.4). If transparent_nodata is true, any GeoRaster NODATA value is to be rendered as transparent. The default value is false.

Oracle Maps

This section describes features for Oracle Maps, which is documented in Chapter 8.

Displaying Google Maps and Bing Maps Tiles as Built-in Map Tile Layer

Applications can now display Google Maps tiles or Microsoft Bing Maps tiles as a built-in map tile layer. Internally, the Oracle Maps client uses the official Google Maps or Bing Maps API to display the map that is directly served by the Google Maps server. In order to use the Google Maps tiles, you must obtain a Google Maps API key for your application. For more information, see the JavaScript API documentation for class MVGoogleTileLayer (Google Maps) or class MVBingTileLayer (Microsoft Bing Maps). (If you need to overlay your own spatial data on top of the Google Maps or Microsoft Bing Maps tile layer, see also Section 8.6, "Transforming Data to a Spherical Mercator Coordinate System".)

MVBaseMap Renamed to MVMapTileLayer

The class MVBaseMap in the Oracle Maps Javascript API is renamed to MVMapTileLayer to prevent possible confusion with the concept of MapViewer base map. For more information, see the JavaScript API documentation for MVMapTileLayer.

Web-Based User Interface for Map Tile Layer Management

A new Web-based user interfaced has been added to the MapViewer Web administration console for editing map tile layer definitions, as well as previewing and managing map tiles.

External Map Tile Support

The Oracle Maps JavaScript client can now display map tiles rendered directly by an external map tile server without caching the tiles with the MapViewer map tile server. For more information, see the JavaScript API documentation for MVCustomMapTileLayer.

Improved Client-Side Support for Accessing Cross-Domain Map Tile Server and FOI Server

The Oracle Maps client can now communicate with cross-domain map cache tile and FOI servers without relying on a proxy server, which was previously required. For more information, see the JavaScript API documentation for MVMapView.enableXMLHTTP.

Dynamic Client Side Styles

More support is provided for rendering FOI data using dynamic client side styles for business intelligence (BI) applications. New classes are added to the Javascript API to support client side defined styles such as color style (MVStyleColor), marker style (MVStyleMarker), bar chart style (MVBarChartStyle), pie chart style (MVPieChartStyle), bucket style (MVBucketStyle), as well as any MapViewer supported style defined in XML (MVXMLStyle).

JDBC Theme-Based FOI

Oracle Maps now supports client side dynamically constructed JDBC theme-based FOI layers. For more information, see the JavaScript API documentation for MVThemeBasedFOI.

Simplified Dynamic BI Data Injection and Visualization

Business Intelligence applications can now visualize application generated nonspatial attribute data on the map through the combined use of a nonspatial data provider and theme-based FOIs. For more information, see the JavaScript API documentation for MVNSDP.

Improved Information Window

The positioning, styling, and sizing of the information window have been improved. Previously, the Oracle Maps client always displayed the information window at a fixed position relative to the specified map location. The Oracle Maps client now can place the information window at the optimal variable position relative to the specified map location. As the result, the map does not to be panned in order to make the information window visible inside the map. In addition, you can specify tabs for the information window.

For more information, see the JavaScript API documentation for MVMapView.displayInfoWindow and MVMapView.displayTabbedInfoWindow. The Tabbed info window demo on the Oracle Maps tutorial page shows how to display a tabbed information window.

Enhanced Map Decoration

The client now supports multiple collapsible map decoration components that can be positioned at arbitrary positions inside the map container. Map decoration can now be dragged inside the map container. For more information, see the JavaScript API documentation for MVMapDecoration.

Flexible Placement and Visibility for Navigation Panel and Scale Bar

The navigation panel and the scale bar can now be placed inside a map decoration component, which can be displayed or hidden and can be placed at a position of your choice inside the map container. For more information, see the JavaScript API documentation for addNavigationPanel.

Navigation Panel Informational Tips

Applications can now define mouseover informational tips or labels for map zoom levels. The informational tips are displayed when the user moves the mouse over the navigation panel. The user can then zoom to a selected zoom level by clicking on the corresponding info tip. For more information, see the JavaScript API documentation for MVNavigationPanel.setZoomLevelInfoTips and the Navigation Panel demo on the Oracle Maps tutorial page

Polygon Theme-Based FOI Layer Labeling

Applications can now choose whether to label the polygon features of a polygon theme-based FOI layer. For more information, see the JavaScript API documentation for MVThemeBasedFOI.

Image-Less Polygon Themes with FOI Layers

You can now base a feature of interest (FOI) layer on an image-less polygon theme, causing FOI images not to be rendered if the theme is already rendered as part of the base map. This feature can result in much faster performance with polygon layers. For more information, see the JavaScript API documentation for MVThemeBasedFOI.

FOI Layer Automatic Selection and Highlighting

You can now associate a filtering geometry with any predefined theme-based FOI layer so that only the features that fall inside the filtering geometry are rendered on the map. This feature is part of the new support for proximity and within-distance mapping. It can be used with the selection tools (circle, rectangle, or polygon) to implement theme feature highlighting. For more information, see the JavaScript API documentation for MVThemeBasedFOI.

Client-Side Construction of Geodetic Geometries Based on Earth Distance Parameters

You can now construct the following type of geometries in geodetic coordinate systems with parameters based on Earth distance: a circle polygon geometry specified by its center and radius, a rectangle with its height and width specified, and a point geometry at the specified distance and bearing from the start point. These geometries, especially the first two, can be used for implementing proximity and within-distance type mapping. For more information, see the JavaScript API documentation for MVSdoGeometry.

Animated Loading Icon for Maps and Themes

The Oracle Maps client now displays an animated icon during the loading of a base map or a theme. This is especially useful for providing visual reassurance to users with maps and themes that take a long time to load.

User-Defined FOI Customizations

The JavaScript API now provides methods for applications to modify the geometry representation and rendering style of an already rendered user-defined FOI, as well as the custom marker image for a user-defined point FOI. For more information, see the JavaScript API documentation for MVFOI.

Prompt Mode for Marquee Zoom Tool

The new prompt mode provides enhanced user control over marquee zoom operations. Prompt mode zooms the map when the use clicks on the marquee zoom rectangle, which eliminates the possible problem of accidental zooming associated with "continuous" mode. For more information, see the JavaScript API documentation for MVMapView.startMarqueeZoom.

Mouse Cursor Customization

Applications can now customize the appearance of the mouse cursor when the cursor is over different map components, such as map tiles, FOIs, and map decorations.

Built-in Toolbar and Distance Measurement

Applications can now use a built-in distance measurement tool to measure distance on the map. The built-in toolbar provides an easy graphic user interface for accessing utilities such as the redline tool, rectangle tool, circle tool, distance measurement tool, and any user-defined capabilities. For more information, see the JavaScript API documentation for MVToolBar and the Tool bar demo on the Oracle Maps tutorial page.

Automatic Determination for Whole Image Theme Display

Displaying a theme-based FOI layer as a whole image may greatly improve the application performance, but it may be difficult for application developers to determine when to display a theme as a whole image theme. However, you can now choose to let MapViewer make the determination automatically. For more information, see the JavaScript API documentation for MVThemeBasedFOI.enableAutoWholeImage.

Automatic Long Tile Administrative Request Recovery

Long running tile admin requests that are interrupted due to Fusion Middleware or MapViewer shutdown will be able to resume automatically after MapViewer is restarted. (You do not need to do anything to enable this feature, other than creating the new database view USER_SDO_TILE_ADMIN_TASKS if it does not already exist. For more information, see Section 2.9.)

Wraparound Map Display

Applications can now display a map in the wrap-around manner. When the map is displayed in this manner, the map wraps around at the map coordinate system boundary horizontally and therefore can be scrolled endlessly. For more information, see the JavaScript API documentation for MVMapView.enableMapWrapAround.

Individual Theme Feature Highlighting (Selection)

Applications can enable the user to select and highlight individual theme features (FOIs) by clicking the mouse on the features. For more information, see the JavaScript API documentation for MVThemeBasedFOI.enbleHightlight and the Highlighting individual features of a theme based FOI layer demo on the Oracle Maps tutorial page.

Enhanced Redline Tool

The redline line tool can now be used to create polyline, polygon, and point geometries. The redline line tool also supports an editing mode, in which you can move an existing redline point or line segment, remove a redline point or line segment, or add a redline point or line segment programmatically. For information about redlining using the Oracle Maps JavaScript API, see Section 8.4.

Error Reporting

Previously, all error messages thrown by the Oracle Maps client were displayed as browser alerts. Now applications can customize how the error messages are handled by using a custom error handler. For more information, see the JavaScript API documentation for MVMapView.setErrorHandler.

New Tutorials

Many new Oracle Maps tutorials illustrate the new features. To access the MapViewer demos and tutorials, go to: