Release notes: ArcGIS Runtime SDK 10.1.1 for Java
These release notes detail new functionality which has been added to the 10.1.1 release, areas of API change which may need attention when upgrading from the previous release, and any known issues.
New functionality
- A Find Task has been added to the search functionality to complement the existing Query and Identify Tasks.
- The Locator class which is used for geocoding operations now supports the new ArcGIS Online single line geocoder. This allows for users to search for locations like "Pizza Edinburgh". The results can be ranked so they are returned in order of distance from a given search point.
- API improvements now allow a developer to control what happens when there is no tile available to display for a certain location and level of detail in a tiled layer. This allows for the optional display of tiles from a higher level of detail instead of "No data" tiles.
- Support has been added for displaying ArcGIS ImageServer services. Both dynamic and tiled services can be displayed. Rendering and Mosaic rules can be applied when working with dynamic services.
- InfoPopups have been improved to display pie charts, pictures and to allow editing of data.
- GPS modes have been added to the GPSLayer. These include AutoPan where the map pans around with the moving point (always North aligned) and Navigation mode where the map pans and rotates according to the direction of travel.
- Support for printing has been added to the JMap, the contents of which can now be printed using standard Java SE printing classes.
- A new OpenStreetMap layer has been added to the API. This allows for an OpenStreetMap tiled basemap to be used.
- Map tips functionality has been added which can be configured to display feature or graphic attributes on a map tip when hovering over the item.
- The Service Area Task has been added to support the latest Network Analyst functionality.
- The Closest Facility Task has been added to support the latest Network Analyst functionality.
- Security support for:
- PKI Security
- Federated Security on Webmaps
- Support has been added to a feature service to view editor tracking information which can be enabled in ArcGIS Server.
- Improvements have been added to the configurability of the Grid to allow the lines and label colors to be specified. It is also possible to toggle the visibility of the labels.
- Polar MGRS grid support has been added to the existing MGRS grid. Polar grids will only be activated if the map is displayed using an appropriate projection for the North or South Pole.
- Picture Marker Symbols can now be created from a URL referencing an image file.
- Draw Order methods have been added to the graphics layer to allow graphics to be drawn in a specific order or to be moved behind or in front of all other graphics.
- The Triangle Marker Symbol is now supported in the SimpleMarkerSymbol.
- Web bookmarks are now supported from ArcGIS Online.
- Enhanced querying has been added to tasks (order and group by).
- Local Server API additions have been made to allow a developer to specify:
- Temp location
- Unpack location
- There is new graphics highlight functionality to improve on the existing selection symbol for rendering selected graphics and features.
- Webmap support has been added for feature editing overrides and layer scale dependency.
- Z and M getters and setters have been added for graphics and feature layers.
- WebMap layer support has been added for CSV by reference and KML.
- The advanced symbology support has been extended to support the NATO App6B Military Symbology.
API Alterations
The 10.1.1 release has been developed alongside the Android Runtime API to ensure where possible the developer experience is similar between these platforms. In some cases, this has resulted in classes moved to different packages and minor API alterations. The tables below shows the differences which will need to be addressed if upgrading source code from a Runtime 1.0 to 10.1.1 environment.
Package alterations
1.0 API | 10.1.1 API |
---|---|
com.esri.core.internal.value.TimeOptions.Units | com.esri.core.map.TimeOptions.Units |
com.esri.core.internal.value.TimeExtent | com.esri.core.map.TimeExtent |
com.esri.core.renderer.AlgorithmicColorRamp | com.esri.core.internal.value.AlgorithmicColorRamp |
com.esri.core.renderer.ColorRamp | com.esri.core.internal.value.ColorRamp |
com.esri.core.renderer.RampDefinition | com.esri.core.internal.value.RampDefinition |
com.esri.core.renderer.MultipartColorRamp | com.esri.core.internal.value.MultipartColorRamp |
com.esri.core.tasks.ags.query.RelatedRecordGroup | com.esri.core.map.FeatureSet |
com.esri.core.tasks.ags.query.RelatedRecordSet | com.esri.core.map.FeatureSet |
Class alterations
Class | Method | Description of change |
---|---|---|
Locator | addressToLocations, addressToLocationsAsync, locationToAddress, locationToAddressAsync, batchAddressToLocation, batchAddressToLocationAsync | At 1.0, if an output spatial reference was supplied it was supplied as the spatial reference identifier (SpatialReference.getID). At 10.1.1 this changes so that a spatial reference is passed instead. |
ArcGISFeatureLayer | queryRelatedRecords | At 1.0. the call back listener was a CallbackListener<RelatedRecordSet>(), but at 10.1.1 the definition changed to CallbackListener<Map>Integer,FeatureSet»() |
Geoprocessor | setOutSR, setProcessSR | At 1.0 these methods used the spatial reference identifier (SpatialReference.getID). At 10.1.1 this changes so that a spatial reference is passed instead. |
Webmap | initializeMap | throws java.lang.Exception at 10.1.1, instead of CatalogException which was at 1.0. |
QueryTask | execute | throws java.lang.Exception at 10.1.1; it did not throw an exception at 1.0. |
AlgorithmicColorRamp | constructor | From and To arguments have been changed to "int"; at 1.0 they were "Color". |
GenerateRendererTask | execute | The signature has changed to execute(GenerateRendererTaskParameters params) |
Known issues
- Issue: An ArcGIS Runtime application running on an XP machine cannot be viewed using Remote Desktop.
- Issue: An ArcGIS Runtime application running in OpenGL mode cannot be viewed using Remote Desktop. Workaround: If using Windows, the application will need to be displayed using DirectX. DirectX is the default display mode for Windows.
- Issue: Applications running in OpenGL mode require support for OpenGL 2.1 and Shader Language 1.2. The Runtime API will detect if the hardware supports this minimum support level, however with some older graphics cards it has been found that the hardware claims to support the required level, but it actually doesn't. This may result in JVM crashes on application startup.
- Issue: A Linux Runtime application cannot be run from a USB stick on different machines. Instead, a Linux application must always run in the same folder, by the same user, that it was first run in. Do not run a Linux application from the deployment folder you are using as your master deployment copy. The deployment should be copied to its final destination before running it for the first time. Workaround: Deploy the application onto a local disk. Do not run applications on Linux machines directly from USB drives.
- Issue: Linux users must uninstall all previous versions of ArcGIS Runtime SDK for Java before they install the ArcGIS Runtime SDK 10.1.1 for Java.
- Issue: Transparency of the infopopup windows in Linux may be impaired unless system settings are set to support window transparency and advanced desktop effects. For example on RedHat, go into 'System > Preferences > Desktop Effects' and make sure 'Compiz' is selected:
- Issue: Supplying an invalid MGRS coordinate inside the fromMilitaryGrid method in the SpatialReference class may cause a JVM crash. Workaround: Parse coordinates to ensure they are valid before calling a fromMilitaryGrid method.
- Issue: On Linux with a French locale specified, you may receive a GPS parsing error.
- Issue: GeometryEngine.Buffer with an array gives an 'out of bounds' exception. Workaround: Use the overloaded Buffer method which uses single geometries.
- Issue: Using the GPSLayer.setMode method can cause the map animation to be turned off. Workaround: Reset the map animation mode after changing the GPSLayer mode.
- Issue: InfoPopup tails very occasionally become disconnected from the graphics when panning enthusiastically, however they will correct themselves after another pan.
- Issue: WebMaps will not display referenced CSVs with UTF8 encoding. The rest of the WebMap still displays/ functions.
- Issue: On Linux, the Javadoc is not linked to the
ArcGIS Runtime for Java toolkit when using the Eclipse plugin. Workaround: Follow the following steps to fix this issue:
- In the Eclipse Package Explorer for your project, open the 'Referenced Libraries' folder. Right-click the ArcGIS Runtime toolkit jar and select 'Properties'.
- Select 'Javadoc Location'.
- Choose 'Javadoc in archive > External File > Archive path'.
- Click 'Apply' to apply the path that is already there.
- Click 'OK' to close the dialog.
- The Javadoc should now be linked to your toolkit and project.