This page provides details about enhancements in the 200.7 release of ArcGIS Maps SDK for Flutter. It also lists deprecations, resolved issues, known issues, and more.
Enhancements
Geometry editing
Snapping support for each sublayer of a subtype feature layer
When using GeometryEditor snapping and working with subtypes, you can now configure each SubtypeSublayer for snapping individually. Each SnapSourceSettings that corresponds to a SubtypeSublayer is now available from the SnapSourceSettings.childSourceSettings collection of its parent SubtypeFeatureLayer snap source, and can be enabled or disabled independently of its parent layer.
Layers and tables
Support for subtype group tables
Similar to SubtypeFeatureLayer, subtype group tables allow each FeatureSubtype in a non-spatial object class to have their own query methods, edit operations, popup definitions, and more.
If a web map contains a subtype group table, the ArcGISFeatureTable.subtypeSubtables collection will be populated with SubtypeSubtable objects when the web map is loaded. You can also create, configure, and add new SubtypeSubtable objects to this collection and save them in the web map.
Load a WMTS layer from a portal item
With this release, you can now load a WmtsLayer from a portal item.
Map view
Support for image overlays in map views
ArcGISMapView now supports image overlays; previously only supported in scene views. You can use an ImageOverlay to quickly render frequently changing images such as realtime sensor data. For example, to display a dynamic weather system, each frame from the weather radar is represented as a static image. This image is constantly updated via a new ImageFrame as new data comes in to give a fast-refreshing display.
Arcade
Support for new Arcade version
The SDK now supports Arcade 1.31.
The following functions have been added:
- Geotrigger profile support for the Data Access bundle.
- Different curve types support in geodetic geometry functions.
Projection Engine
Coordinate systems and transformations
- Available coordinate systems and transformations have been updated to EPSG v12.002.
- The names of EGM vertical coordinate systems have been revised to align with the official EPSG names.
- EGM2008 geoid transformations in the behind-the-scenes processes have been updated to use the official NGA methods.
- ArcGIS Coordinate Systems Data supplement component now includes new geographic transformation grids for Germany and the United Kingdom, as well as new vertical transformation models for Bonaire (Dutch Caribbean), European continent (EVRF systems), Finland, and Slovenia.
SDK enhancements
Additional APIs exposed since 200.6
- Custom location data source
- Geotriggers
- location data source
- Persistent credential store
- Raster
- Route tracker
Enhancements to existing location API
- Allow enabling of background location updates using
SystemLocationDataSource.enableBackgroundLocationUpdates(). deviceproperty added toLocation Accuracy SystemLocationDataSourceto enable configuration ofDeviceLocationAccuracyType.- Convenience constructors added to
SystemLocationDataSourceto simplify workflows.
Support for Android devices configured with 16KB page sizes
ArcGIS Maps SDK for Flutter now supports Android devices/emulators that are configured to use a memory page size of 16 KB.
Breaking API changes
There are no breaking API changes with this release.
Behavior changes
GeometryEnginemethodsGeometryEngine.convexHull(),GeometryEngine.convexHullCollection(), andGeometryEngine.densifyGeodetic()now support true curve input, producing densified curves in the result geometries.
Deprecations
API deprecations
Location and Location are deprecated. Use LocationDataSource.error and LocationDataSource.onErrorChanged instead.
OS and framework deprecations
-
Support for iOS/iPadOS 16 is deprecated. The last release to support this version is 200.7. A minimum of iOS/iPadOS 17 will be required at the next release.
-
Support for macOS Ventura (version 13) is deprecated. The last release to support this version is 200.7. A minimum of macOS Sonoma (version 14) will be required at the next release.
- Support for Android 8 (API 26) is deprecated. The last release to support this version is 200.7. A minimum of Android 9 (API 28) will be required at the next release.
Issues resolved
Issues addressed in this release are listed below.
- BUG-000158647/BUG-000157410 - Layer with access key fails to load. This has been resolved by adding portal item support to
WmtsLayer. - BUG-000174246 - After running for extended periods of time (24+ hours) an application using composite symbols to render graphics will lead to a runtimecore access violation error and crash the program.
- BUG-000170373 - A custom display field
displayis not honored in Native SDKs.Field Expression Info - BUG-000173617 - When related records of a feature that has 0 related records in M:N relationship are queried in ArcGIS Map SDKs, an error is returned
com.esri.arcgisruntime., instead of an empty list.ArcGIS Runtime Exception : Geodatabase item not found - BUG-000174741 - The composite locator bundled in a mobile map package fails to load in the application.
- Issue reported on Esri Community: Cancellation token not working during IdentifyLayersAsync operation causes the application to freeze.
- Issue reported on Esri Community: Setting
isAttributionTextVisibleon theArcGISMapViewControllertofalseonly takes effect when called inonMapViewReadyor later.
Known issues
Known issues or limitations for this release are listed below.
- Authentication with the BasemapStyles API is not currently possible with OAuth user workflows. This is due to an incompatible response header from the Basemap Styles Service and failed handling in the Dart http stack used by the SDK. If OAuth user authentication is required, a workaround is to instead use a web map with basemap. Alternatively, use a different authentication method via API key access tokens or a pregenerated token credential.
- Issue reported on Esri Community: The
GraphicsOverlay.featureReductionandFeatureLayer.featureReductionproperties are not fully functional, and therefore you cannot create newFeatureReductioninstances and set these properties. This functionality will be available in a future release when the remainder of the Feature Reduction API is implemented. Within a Flutter SDK application, you can display feature reduction configured on feature layers in a web map, toggle this on/off using theenabledproperty on theFeatureReductioninstance, and perform an identify operation on a clustered geoelement. For more information, see the Display Clusters sample.
Changes in samples
New samples
- Apply function to raster from file
- Apply mosaic rules to raster
- Add raster from file
- Add raster from service
- Apply colormap renderer to raster
- Apply raster rendering rule
- Edit with branch versioning
- Identify raster cell
- Navigate route
- Navigate route with rerouting
- Set up location driven geotriggers
- Show device location with NMEA data sources