With this release, ArcGIS Maps SDK for Native Apps introduces a new Dynamic Entities API. Use this API to connect to an ArcGIS Stream Service, bring data updates directly into your app, and process them in real time. Once established, a connection to a data stream is maintained and continues to deliver updates until it's closed. Objects created from a stream (known as dynamic entities) can be shown in a new layer,
DynamicEntityLayer, that is designed for real-time display. While no other work is required for consuming and displaying data from a stream, the API also exposes notifications that provide more fine-grained control. Handle these events to work directly with data coming from the stream, to get connection status changes, to track updates for a specific dynamic entity, and so on.
See the new Work with dynamic entities guide topic for more information.
Version 200.1 introduces a new feature tiling mode,
Feature . This provides an opt-in experience for developers to request high resolution geometries from a service. To opt-in, developers can set the feature tiling mode using the
LoadSettings property on the
GeoModel or on the individual layer.
This mode requires the service to support edit quantization mode (
supports), which returns all vertices of the source geometry in a high resolution. Use this mode for workflows that benefit from precise geometry editing, such as snapping feature geometries without loading the feature.
With this release, visualization of edges on 3D Object Scene Layers is available for iOS and Mac Catalyst apps built with ArcGIS Maps SDK for .NET or ArcGIS Maps SDK for Swift. Support for visualization of edges was first introduced in the Native Maps SDKs at version 200.0 but was only available for apps deployed to Android, Linux, macOS, and Windows operating systems.
The performance of the scene view control when there is no user interaction has been improved by approximately 20 percent. This results in lower CPU consumption when the scene view is inactive and a corresponding reduction in battery usage for mobile devices.
The scene layer data loading pattern for desktop platforms has been optimized to prioritize loading content in the foreground while continuing to load coarser levels of detail (LoDs) in the background. This results in a significant reduction in the initial time it takes to render a scene layer.
This release includes expanded support for tracing while disconnected from a utility network service. Water and gas utility networks can now use the isolation trace type and subnetwork-based traces (subnetwork, upstream, and downstream traces) on hierarchical networks. Aggregated geometry results are also supported while tracing offline, providing a more efficient way to visualize trace results in a map view or scene view.
When tracing while connected to a feature service, the results of a nearest neighbor filter can also be accessed, allowing an app to determine if all of the requested neighbors were found.
Three new trace configuration options are supported when tracing in either connected or disconnected environments:
A new constructor for the
Utility class makes it even easier to add trace conditions using utility network categories.
Version 200.1 supports querying and inspecting utility network rules using the new
UtilityNetworkDefinition.rules() method. Rules define what combinations of
Utilitys can connect to, attach to, or contain other asset types and terminals, increasing the data integrity within the utility network.
The 200.1 release of the ArcGIS Maps SDKs for Native Apps now supports tracing of utility networks taken offline from an ArcGIS Enterprise 11.1 feature service when the recommended patches are installed to the Enterprise server. For more information, see the offline utility networks in Maps SDK for Native Apps blog article.
According to the ArcGIS Indoors Information Model, floor-aware maps and scenes require a
LEVEL_ for floor information. With this release of ArcGIS Maps SDKs for Native Apps, an
IndoorsLocationDataSource outputs a
LEVEL_ value in addition to
VERTICAL_, allowing developers to directly use the
Indoor output as an input to floor aware maps and scenes. To take advantage of this enhancement, the URL of the LEVEL table needs to be provided to the
Indoors, without which only
VERTICAL_ will be output.
See ArcGIS Indoors Information Model in the ArcGIS Pro documentation for more information.
The path snapping algorithm in the
Indoor is improved in this release. The snapped position is now more accurate and more consistent with less jumping between adjacent pathways.
A new guide topic helps map authors understand how ArcGIS Pro labeling properties are translated into ArcGIS Maps SDK for Native Apps labeling properties.
LabelDefinition.lineOrientation property has been added to allow users to modify the placement of line labels to the
Right of the digitized line feature, rather than
Below the line feature.
- API names and nullability have continued to be fine-tuned to follow Swift guidelines.
Sceneno longer conform to
Observable. You can either store them as
Stateproperties in your SwiftUI View, or as properties of a
Stateobject that represents a model for the view.
GeoElementprotocol now requires that the attributes and geometry properties are gettable.
KMLPlacemarkcontinue to allow the user to mutate both properties, but the other conforming types like
WMSFeatureno longer allow the user to mutate either of the properties.
UInt64types in the API have been replaced with a generic
Intwhere appropriate for a more convenient usage.
SpatialReferenceis now a struct.
- Enums no longer conform to
CalloutPlacementis now a struct instead of a protocol.
Anyis no longer needed and has been removed.
ArcGISEnvironment.authenticationproperty has been moved to
AuthenticationManagerand split into two separate properties:
ArcGISEnvironment.credentialproperty has been moved to
AuthenticationManagerand renamed as
ArcGISEnvironment.networkproperty has been moved to
AuthenticationManagerand renamed as
ArcGISEnvironment.sethas been moved to
Network Credential Store(_ : )
Manager.set Network Credential Store(_ : )
ArcGISCredentialhave been removed.
OAuthhave been renamed to
Statichas been renamed to
- Static functions to create different types of credentials have been moved to respective classes from
- Custom error types have been created for the different error categories, for example,
ArcGISErrorenum has been removed.
Equatableconformances have been removed from
Layer. A new wrapper type is now used in the dictionary in places where
Item.idis now optional and
Itemno longer conforms to
GeometryEngine.nearestCoordinate(in:to:)does not support curve geometries. This method may produce incorrect results in previous releases when using geometry with true curves. This behavior is corrected in this release and the method now throws an
ArcGISRuntimeif the geometry parameter contains true curves. This behavior matches other
Geometrymethods that do not support true curves. Support for using true curves with this method may be added in a future release.
- Read-only feature layers now have feature tiling enabled by default when the service supports it.
- Navigating a route using the route tracker when working with ArcGIS location services accessed with an API Key is now available with a Lite License.
- Integer values in
Feature.attributesare now provided as Int16 or Int32 types depending on the field type in the geodatabase.
There are no API deprecations with this release.
- Support for macOS Big Sur 11 is deprecated. The last release to support macOS Big Sur 11 is version 200.1. A minimum of macOS Monterey 12 will be required at the next release.
Issues addressed in this release are listed below.
- The 3rd-party Libtiff library has been upgraded to 4.5.0.
- BUG-000153386 Fixed an issue where
Subtypes weren't honoring a map's reference scale.
- BUG-000153429: Label fails to display correctly in a Union multipart feature.
- BUG-000154742: Landscape image service fails to load with parsing error.
- BUG-000154811: Feature link annotation with a vertical display of labels stored in a mobile geodatabase is showing inconsistent behavior in ArcGIS Maps SDK for .NET.
- BUG-000155484 Fixed an issue loading
Subtypes when a feature service has label definitions.
- ENH-000099317/ENH-000099318: WMTS layers with dimensional data are now supported. The default dimension value is used if provided by the service. Otherwise, the first value listed is used.
- Question on Esri Community Offline packages with non-ASCII characters in the path cannot be opened and read.
Known issues or limitations for this release are listed below.
- A utility network that is configured with the "only include simple features" option cannot be loaded from an ahead-of-time offline map. To create a map with a loadable utility network use one of the other two offline utility network options.
- Add dynamic entity layer
- Authenticate with OAuth
- Change camera controller
- Change map view background
- Change viewpoint
- Download preplanned map area
- Get elevation at point on surface
- Navigate route
- Query feature table
- Show device location history
- Show popup
- Show realistic light and shadows
- Sketch on map
- Trace utility network
- Modified code to use
@Stateproperty wrapper on view-model objects to store a
Observableto ensure that the geo model is only created when necessary.
- Updated UI in Project Geometry, Set basemap, Show callout, and Show result of spatial relationships.
- Updated APIs to reflect the breaking changes in 200.1.0.
- Added Swift package instructions.
- Addressed compiler warnings for Swift bug and for Mac Catalyst compatibility.
- Fixed the
Offlineinstantiation pattern to use a map instead of a portal item in Generate offline map.
M a p Task
- Fixed various typos, formatting, and configurations.