ArcGIS Blog

Announcements

Developers

What's new in ArcGIS Maps SDKs for Native Apps 200.7

By Rex Hansen and Nick Furness, Mike Branscomb and Shimona Lahiri

The 200.7 release of the ArcGIS Maps SDKs for Native Apps refines the editing experience for mobile workers with a particular focus on editing utility networks in the field. We’re also introducing queries on dynamic entity layers, a new way to overlay content on 2D maps, significant capabilities to the new Flutter SDK, new toolkit components across the various SDKs, and more.

Editing enhancements for utility networks

Over the last few releases we’ve delivered new functionality with feature forms and the geometry editor which improve editing workflows, especially when working with mobile devices in the field. The geometry editor’s powerful snapping capabilities, in conjunction with haptic feedback and the optional reticle tool, have greatly enhanced geometry creation and editing on touch-based devices like tablets and phones.

200.7 adds rules-based snapping to the geometry editor, further refining the snapping experience when working with utility networks. Rules-based snapping interactively applies connectivity rules defined on a utility network, guiding users to ensure the assets they’re adding and editing will connect to one-another correctly. For example, rules-based snapping ensures that the geometry for a new service line only snaps to existing equipment that can have a service line connected to it. Many users already have this domain knowledge, but their work is now interactively validated to further improve accuracy and reduce errors.

UN connectivity snapping
Using utility network connectivity rules to snap to the correct sources.

Learn more about rules-based snapping in this deep-dive blog post.

Dynamic Entity Queries

Dynamic entities make it easy and intuitive to incorporate streaming and real-time data into your apps. They take care of the hard work of tracking incoming updates (observations) and associating them with existing features on the map, leaving you to focus on the user experience around that data.

As dynamic entity updates stream into your app over time, you can end up with a lot of data, and this release adds the ability to perform a query on that data to focus on specific dynamic entities based on their attributes and/or geometries.

For example, you could drill down on a real-time display of aircraft updates to determine which aircraft are taxiing, or are taxiing at a specific airport, or focus on a specific aircraft by tail number. Or you could determine whether a particular squad car is on duty at the moment, or work out which ambulances are within a specific drive-time of a new incident. Focusing in on specific data within a set of streaming updates helps your users answer targeted questions, while still maintaining the broader context of the overall streaming feed.

This initial dynamic entity layer querying capability provides “static” or “snapshot” queries which identify the dynamic entities that match a query at the time you perform it.

Native SDKs dynamic entity query
Using a dynamic entity query to highlight aircraft taxiing at an airport.

Image Overlays in 2D

Image overlays are useful for efficiently displaying georeferenced images or sequences of images over the top of other map or scene content. A good example is a sequence of weather radar images. We’ve supported image overlays with 3D scene views for many releases now, and with 200.7 they’re available for 2D experiences using the map view.

Native SDKs Image Overlay in 2D Map
Using image overlays in a MapView to show the location, type, and intensity of precipitation during a storm.

ArcGIS Maps SDK for Flutter

The initial release of the new ArcGIS Maps SDK for Flutter last year included only a subset of features available in the other Native Maps SDKs. This was the compromise we had to make to get a production-ready SDK into your hands in as short a time as possible, and we’ve been thrilled to see how many of you are already releasing Flutter Maps SDK apps into production based off those initial capabilities.

We published our plans for adding the remaining capabilities, and the 200.7 release of the Flutter Maps SDK delivers raster support, credential persistence, new location data sources, geotriggers, and the navigation API, as promised in the parity page. That’s in addition to the 2D image overlays described above. The one digression from our published parity plan for this release is that we’ve decided to hold off on an initial release of the ArcGIS Maps SDK for Flutter open source toolkit until the next release. This will allow us to ensure it’s available via pub.dev, and add a few more components.

We’ve updated the Flutter parity page to reflect these updates so you can always refer to it to get the current status of the SDK. It’s great to see “Next release” and “Coming soon” sections updating with each release. Take a look to see what we’re working on for the next release.

Other improvements

In addition to these key new features and enhancements, we’ve included 3rd party updates, bug fixes, and performance improvements, as well as many other enhancements such as:

  • Feature forms and popups: The feature forms API and popups API introduce support for utility network associations, allowing developers to follow relationships between equipment in a utility network, such as connectivity, containment, or structural attachment. Navigating associations will be added to the feature forms and popups toolkit components in the near future, followed by the ability to edit those associations themselves in a subsequent feature forms toolkit update.
  • Per-feature popup support: Developers can now override the popup definition for each feature in a feature collection, allowing for highly customized popup experiences.
  • Utility network: Subtype subtables are now supported in web maps and mobile maps, including feature form and popup definitions.
  • Performance: We’ve identified a couple of areas where we can significantly improve performance when working with feature layers in 3D. In our testing this has shown complex datasets loading up to five times faster, and with much less CPU and memory usage.
  • The Kotlin SDK toolkit added new composable world scale AR view, legend, scalebar, and basemap gallery components.
  • The .NET SDK team launched a new Calcite .NET toolkit, inspired by the Calcite Design System, to help enhance the styling of your applications.
  • The Qt SDK is now ready to use with the 6.8 LTS release of the Qt framework.
  • The Swift SDK introduced a brand-new toolkit component for working with offline maps. The OfflineMapAreasView component handles downloading ahead-of-time and on-demand offline maps, provides rich UI components for defining on-demand offline maps and managing downloaded maps stored locally, and robustly handles downloading offline maps in the background. This component will be added to other Native Maps SDK toolkits in future releases.

You can read about all these improvements and more in the release notes for .NET, Flutter, Kotlin, Qt, and Swift Maps SDKs.

Deprecation of ArcGIS Maps SDK for Local Server

As a reminder, the ArcGIS Maps SDK for Local Server (also known as “Local Server”) was deprecated earlier this year.  The last release of Local Server will be version 200.8, scheduled for release in Q3 2025.  This will be a long-term support release (LTS) and follows the LTS Product Life Cycle of two years of General Availability (GA), one year of Extended Support, and two years of Mature Support, before retirement in 2030.  If you have applications that use Local Server, it is time to start planning your migration to use core capabilities provided directly by ArcGIS Maps SDKs for Native Apps. For more information, please read our blog post announcing the deprecation of Local Server.

Download and get started

To get the latest version, update the reference to your Native Maps SDK of choice via NuGet, Gradle for Kotlin, the Swift Package Manager, or pub.dev for Flutter, or alternatively go to the Esri Developer website to download. If you are new to developing with the ArcGIS Maps SDKs for Native Apps, the SDKs for .NET, Flutter, Kotlin, Qt, and Swift have extensive guide documentation, API reference, tutorials, and samples.

Share this article