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()
. device
property added toLocation Accuracy SystemLocationDataSource
to enable configuration ofDeviceLocationAccuracyType
.- Convenience constructors added to
SystemLocationDataSource
to 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
GeometryEngine
methodsGeometryEngine.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
display
is 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
isAttributionTextVisible
on theArcGISMapViewController
tofalse
only takes effect when called inonMapViewReady
or 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.featureReduction
andFeatureLayer.featureReduction
properties are not fully functional, and therefore you cannot create newFeatureReduction
instances 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 theenabled
property on theFeatureReduction
instance, 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