Version 100.3.0 of ArcGIS Runtime (also known as Update 3) is a significant update, with a focus on performance improvements, greater parity with the full ArcGIS platform, and support for 3D Web GIS. This page provides details about these improvements and describes additional enhancements. It also lists deprecations, resolved issues, and known issues.
For release notes for the previous release, see Related topics near the bottom of this page.
This section describes new features and improvements.
As part of the improved support for 3D Web GIS capabilities of the ArcGIS Platform, you can now display web scenes from ArcGIS Online or ArcGIS Enterprise in your ArcGIS Runtime based apps. Web scenes can be quickly authored by apps such as ArcGIS Pro and Scene Viewer and then easily consumed by your apps, respecting the content, symbology, popups and other settings that the author configured in the web scene. For more information about Runtime support for web scenes, see Runtime support for web scenes.
In addition, 3D content originating from scene layers can now be identified and selected, and their display can be customized through renderers in the web scene. And feature layers can be displayed with 3D symbols originating from web styles in ArcGIS Online or ArcGIS Enterprise.
- Interactive distance measuring is now supported in 3D. You can measure horizontal, vertical, and direct distances between two locations in a scene view.
- Viewshed analysis has been enhanced to support full 360 degrees horizontal field of view. Previously, only a maximum of 120 degrees was supported.
In previous versions, offsets for scene analysis, such as viewshed and line of sight, were incorrectly applied from the center of the model symbol. Rather, the scene analysis offsets should have been applied from the geometry location. This has now been resolved and there may be some cases where offsets used by your analysis may need to be changed or removed.
WMS support has been enhanced:
- WMS layers are now time aware and support filtering their contents based on a time range or time instant.
- You can discover available styles in the service and set the style of a layer to customize its display.
- You can now specify custom parameters to be sent to the service. This is useful, for instance, if the service requires custom authorization parameters in the HTTP requests.
- WMS layers now automatically display attribution information of the service in a map view or scene view .
Improvements have been made to provide finer control over label placement. These refinements allow for a more consistent display of labels when using mobile map packages (.mmpk files) generated from ArcGIS Pro. You can now do the following:
- Allow overlap of a label with other features or labels based on weights to assign relative importance and define priorities when there is a conflict
- Specify an offset distance of a label from the symbol based on screen units.
- Stack multiple lines of text with custom line separators and choose whether line break should occur before or after the separator, whether the separator should be visible, etc. Previously, only whitespace characters were considered for inserting line breaks.
Query support for map image layer
You can now query sublayers and tables from a map image layer in the same way you query feature layers. The query can be based on attributes and/or spatial relationships and can also be used to return summary statistics or related features. Also, a new method has been added to conveniently load all the sublayers and tables contained in the layer so that their data can be accessed.
Support for App-6(B) and App-6(D) military symbology specifications has been added. You can use the corresponding style files to display symbols based on these standards in your ArcGIS Runtime apps.
Pop-ups now support displaying values from expressions based on the Arcade language. This support is useful, for instance, when you want to display a derived or computed value based on the existing attributes of a feature. Expressions can be used in pop-up fields, charts, and media. In addition, pop-ups now support Display P3 images generated on newer iOS devices and macOS machines that have wide color gamut displays.
Sketch Editor has been enhanced to allow convenient sketching of common shapes such as rectangles, squares, circles, ovals, triangles, and arrows. In addition, sketches can be easily moved, resized, and rotated using on-screen anchors.
Key-value observing (KVO)
KVO enabled properties now support reporting the old value and also automatic un-registration for Swift observers.
As part of these changes, KVO notifications and change handler blocks in the API will be fired on the same thread on which the event occurred, which could be any arbitrary thread. You need to ensure that any UI related work executed in the handlers or in response to KVO notifications is dispatched to the main thread.
Performance improvement in rendering
Display of graphics and features has been fine-tuned to improve performance and render consistently at 60 FPS as much as possible depending upon the available hardware and amount of data rendered. While some performance degradation is inevitable as the amount of data to render increases, in some cases when working with large amount of data the frame rate has improved by up to 20% for points, 30% for polylines, and 50% for polygons as compared to previous releases.
The toolkit has been upgraded to use Swift 4, and adopt Apple's UI guidelines for iPhone X. In addtion, a new Time Slider component has been added to allow filtering the content of time-aware layers based on a time range or instant. You can auto play progression of the time slider and customize the look & feel of the component to match your app's styling
- Expanded and reorganized layers topics. A new table summarizes supported layers and their capabilities.
- Expanded and reorganized map and scene documentation.
Support for iOS 10 is deprecated. A minimum of iOS 11 will be required at a future release.
- BUG-000112740 The first feature added to an empty shapefile does not display until a second feature is drawn.
- BUG-000114262 An error may occur in EncExchangeSet::getPaths resulting in inability to load EncLayer
- BUG-000110150 Application with a universal transverse Mercator (UTM) spatial reference may crash when the MapView is centered on a location outside the full extent of all layers
- BUG-000109558 Opening a mobile map package fails with the error, "Internal Error" when the map in the mobile map package contains German umlauts in the map name.
- BUG-000114330 When WMTS services have a reverse order for tile matrices, the layer requests incorrect tiles from the service resulting in 404-Not Found error and layer not added to map.
- ENH-000107768 Request to add Runtime API to load a Web Scene PortalItem to Scene
- BUG-000111237 Application may crash when zooming into a viewpoint with very small geometry.
- BUG-000109728 OfflineMapSyncTask doesn't update the feature service in the webmap if the spatial reference of the feature service isn't Web Mercator.
- BUG-000111867 CompositeSymbol doesn't display properly when it is applied to a Graphic with a Geometry of Envelope
- BUG-000112435 Vector tiled layer constructed from a vector tile package (.vtpk) containing very large sprites crashes the Runtime application on the machine with a high screen display resolution
- BUG-000112114 "Out of Range" error is received while calculating a route when multi-part polylines are present in the source feature classes of the network dataset
- ENH-000108221 Request to add MapServer/DynamicLayer support for FeatureLayer or ServiceFeatureTable
- BUG-000106101 Vector tiles may fail to display some Chinese characters.
- BUG-000109215 Symbology layer effects in Mobile Map Package are not rendered correctly.
- BUG-000114411 Elevation exaggeration of Surface does not give expected results when the image service has a negative elevation
- BUG-000112713 Faulty display of military symbols in 3D
- BUG-000111565 Lines created on the GraphicsOverlay with "Dynamic" Rendering mode on 3D doesn't render completely when zooming in
- BUG-000113632 Feature collection points continue to draw although they do not satisfy the definition expression.
- ENH-000106261 The instance of AGSGeodatabaseSyncTask class should not require an ArcGIS Feature Service URL when importing changes from a delta file into a geodatabase using the AGSGeodatabaseSyncTask's importDeltaWithGeodatabase:inputPath:completion:() method.
- BUG-000099242 Japanese labels in a mobile map package are not displayed
- BUG-000113630 Application may crash when loading VectorTileLayers that require large amount of memory
- BUG-000101144 Rotating a vector tile map causes the screen to flash.
- BUG-000110656 Gradient fill symbols are displayed as black BUG-000113946 Performance issue of MapView.IdentifyLayerAsync method
- BUG-000109949 Locator Task from a Mobile Map Package may return suggestions even for invalid addresses.
- BUG-000109987 Labels generated by python in a map package (.mpk) may not display correctly
- BUG-000109554 Aplication may encounter an error when trying to display a tile package (.tpk) containing only one Level of Detail.
- BUG-000108845 Mosaic Dataset doesn't display NoData pixels properly
- BUG-000111375 Locator created from ArcMap 10.5 does not provide 'Match_addr' or 'Label' even if the score is 100.
- BUG-000107292 Setting the opacity of a FeatureLayer displayed in a SceneView causes the layer to turn white and opaque.
- BUG-000104032 Collada models are not rendered correctly with ModelMarkerSymbol.
- BUG-000107500 Layer in a Mobile map package based on a unique value renderer may not render correctly
- BUG-000103301 Some military line symbols do not display in the correct location
- BUG-000111519 Without elevation source the SceneView::screenToLocation function provides invalid "z" values
- BUG-000113128 UniqueValueRenderer fails to draw features when using values of type unsigned int
- BUG-000114143 Military symbols fail to display correctly when resizing the symbols in a unique value renderer
- BUG-000114174 Some mil2525c symbols fail to render properly