Scene layers of type 3D object or point scene layer now support filtering by features and by area. Support includes web scenes published containing scene layers with filtered features. Features can be filtered using one of the following new methods on the
setFeatureVisible()- Sets the visibility of a single feature in the scene layer.
setFeaturesVisible()- Sets the visibility of multiple features in the scene layer.
resetFeaturesVisible()- Resets the visibility of all features in the scene layer.
Features in scene layers can also be filtered spatially using one or more polygon areas. A new class called
SceneLayerPolygonFilter defines a filter from a set of polygons and a spatial relationship. The spatial relationship determines whether to show only those features inside the filter area or those outside the specified area. The filter is applied to the
ArcGISSceneLayer via a new
Scene layers of type 3D object scene layer or point scene layer now support features with a surface placement mode value of
Relative (relative to the ground surface). This enhancement adds initial support for a new collection of global 3D scene layers. With this release, the Living Atlas layer OpenStreetMap 3D Buildings (Beta) can now be used in your 3D scenes.
This release completes support for displaying edges on 3D object scene layers across all Native Maps SDKs and on all platforms.
Edges are now rendered on 3D object scene layers for iOS and macOS apps built with ArcGIS Maps SDK for Qt.
With this release of ArcGIS Maps SDK for Native Apps, you can create a custom
DynamicEntityDataSource. This new API allows you to bring data from custom feeds that you manage into a
DynamicEntityDataSource as dynamic entities. You can visualize them in your application using a
DynamicEntityLayer. The API is flexible, allowing you to manage the connection and process data from any data feed required by your application. Use the custom
DynamicEntityDataSource to connect to a variety of feed types from streaming feeds over a socket to data files that are updated over time.
This release includes the ability to specify a subset of fields from an ArcGIS stream service using
Several performance improvements have been made to dynamic entities in this release.
DynamicEntityObservation attribute information is now compressed down to 25% of previous sizes, and observational parsing has been increased by up to a factor of four, allowing for higher throughput.
With this release, ArcGIS Maps SDK for Native Apps adds support for feature clustering. Point features in a feature layer can be clustered in a map when displayed using dynamic rendering mode.
Feature clustering dynamically aggregates groups of points that are within proximity of each other so they can be represented with a single symbol. The size of the symbol indicates the relative number of points it represents. Clusters are updated as the map scale and extent changes, allowing you to see patterns in the data that may otherwise be difficult to visualize with a large number of overlapping points. You can use ArcGIS Pro or ArcGIS Online to author and publish point feature layers enabled with clustering.
Adding a cluster-enabled feature layer to your Maps SDK app, or opening a web map that contains one, will render clusters if the layer's rendering mode is dynamic. If the rendering mode is set to static, individual features in the layer are drawn using the layer's renderer.
Here are some details about working with clustering in ArcGIS Maps SDK for Native Apps:
A layer's renderer is separate from its cluster renderer. If a cluster renderer was not defined when authoring the data, the layer's renderer is used to infer cluster symbology.
If the rendering mode is set to static, individual features are drawn using the layer's renderer. This is the same appearance the layer would have if clustering was not enabled.
Point features that are not included in a cluster are drawn as individual features using the layer's renderer.
Clusters are dynamically updated as the map's scale and extent changes.
Identifying a clustered geoelement returns an
AggregateGeoElement. The geometry of an aggregate geoelement is the centroid of the cluster graphic and its attributes are the summary fields defined at the time of authoring or publishing the layer.
Pop-ups on clusters are separate from the pop-ups defined on a feature layer. When you identify an aggregated geoelement, you can get access to pop-ups defined on the clusters.
You can toggle the visibility of clusters. When clusters visibility is turned off, the individual features are drawn.
Clustering does not apply to layers with polyline and polygon geometries and is not supported in 3D.
Here are a few known issues with clustering in this release:
Clusters do not display labels.
Cluster graphics cannot be selected or highlighted.
Pop-up expressions that use the
$aggregatedvariable are not evaluated.
If the authored cluster symbology contains size visual variables on a summary field other than
cluster_, the cluster symbols do not display with the correct sizes.
GeometryEngine class introduces new static methods to move, rotate, or scale geometries.
GeometryEditor now displays control graphics when appropriate geometry editor elements are selected. These graphics allow the user to interactively rotate and apply uniform or free-stretch scaling to the selected elements.
ShapeTool, for use with the
GeometryEditor, allows you to create a predefined shape, such as ellipse, triangle, rectangle, and arrow. These shapes can be represented using polyline or polygon geometry.
Offline tracing support was added to the Native SDKs 200.1 release and has been improved in 200.2 with additional bug fixes and tracing support.
- The ArcGIS Maps SDKs for Native Apps now support tracing of utility networks taken offline from an ArcGIS Enterprise 11.1 feature service.
- Offline traces now support nearest neighbor trace results and loops tracing.
- Offline traces have an improved performance when tracing with propagators. These new tracing enhancements are available for all mobile geodatabase types.
Custom feature templates can be configured for each
FeatureSubtype in a Subtype Group Layer using ArcGIS Pro, and the ArcGIS Native Maps SDKs now provide these templates via the
ArcGIS Maps SDKs for Native Apps now support Arcade V1.23. Enhancements include the following:
Reduction of preparation time by half when a script is evaluated. This reduction is most significant in multiple evaluations of a small script, for instance a script calculating a value from a few feature attributes.
The newly added GetEnvironment function has limited support: locale and application values always return empty strings.
Metal is now the default rendering API for iOS and macOS. While OpenGL is still supported, Metal is the rendering API of choice for Apple, and offers improved performance and support. Note that shader files must now be deployed with apps. Further details and requirements are available in the System Requirements and Deployments topics.
Direct3D is now the default rendering API for Windows. While OpenGL is still supported, Direct3D is the rendering API of choice for Windows, and offers improved performance and support. Note that shader files must now be deployed with apps. Further details and requirements are available in the System Requirements and Deployments topics.
Asynchronous "tasks" that return a TaskWatcher now have a new variation of the method to make working with asynchronous code easier. The new methods contain the suffix
Async, for example
RouteTask::solveRouteAsync(), and will return a QFuture. QFutures offer many benefits, including more centralized and concise code, chaining tasks together with
.then(), and improved error handling. The TaskWatcher-based methods will be deprecated in an upcoming release, in favor of the QFuture-based methods. All new APIs will use only QFuture-based async tasks.
The minimum version of Qt is now 6.5.1. Qt 6.5 brings in numerous improvements, such as improved styling and theming. Along with the Qt upgrade, there are several compiler and OS updates, which are highlighted in the System Requirements.
AR Toolkit uses the new Qt Permissions APIs for requesting Camera access.
ArcGIS Maps SDK for Local Server 200.1 is an incremental compatibility release that provides support for geoprocessing and map packages created with ArcGIS Pro 3.x.
You can use ArcGIS Maps SDK 200.2 for Qt with ArcGIS Maps SDK for Local Server 200.1 or ArcGIS Runtime Local Server SDK 100.15. By default, the Qt Maps SDK version 200.2 will use Local Server SDK version 200.1. You can use an alternative version by setting the install path. For example, the code below will tell the API to use the developer installation of the Local Server SDK version 100.15:
LocalServer::setInstallPath("c:/Program Files/ArcGIS SDKs/LocalServer100.15");
When deploying your application, ensure your Local Server deployment directory is included at the location specified by the install path property. For more information see the Deploy Local Server guide topic.
- Due to Qt 6.5 and Xcode updates, bitcode is no longer supported on iOS.
- Projection Engine compatibility: The internal directory structure of the Projection Engine data files has changed. The new file structure within the Projection Engine data files version 200.2 is supported with ArcGIS Maps SDK for Native Apps version 200.1 or later. If your application deployment includes the Projection Engine data files, you may need to update your build or setup process to reflect this change.
Geometrynow supports curves.
- Projection engine (PE) data for geographic transformations are arranged in a different file structure than previous releases. This change is designed to accommodate the increasing number, complexity, and size of the data files. See the readme in the projection engine data download for more information.
LabelDefinition::setWhereClause()sql can now include
Nfor literal unicode text.
ArcGIS Extras API is deprecated. This announcement follows the QML API deprecation. This helper library augmented QML shortcomings by exposing Qt functionality that was only available in C++ to QML. 200.4 is the last release to include ArcGIS Extras. Apps should begin migrating to the Qt C++ API.
- Support for Windows 10 Enterprise LTSC Version 1809 (Build 17763) and Windows Server 2019 Standard and Datacenter is deprecated. Version 200.2 is the last release to support these versions. A minimum of Windows 10 Enterprise LTSC Version 21H2 (Build 19044) and Windows Server 2022 Standard and Datacenter will be required at the next release.
- Support for iOS/iPadOS 14 is deprecated. The last release to support this version is 200.2. A minimum of iOS/iPadOS 15 will be required at the next release.
Issues addressed in this release are listed below.
BUG-000148628: After tilting scene towards the zenith, it is not possible to tilt it back towards the earth's surface.
BUG-000149324 Fixed an issue where pop-ups did not load when certain fields are hidden before publishing.
BUG-000155877: The nested feature group layer stored in a mobile map package (.mmpk) shows inconsistent visibility when the group feature layer's toggle button in the layer list is switched on or off.
BUG-000157495: Fixed an issue where new attachments may not be submitted for features to a feature service layer when the service contains a second layer without a global ID field.
BUG-000158130: Fixed the value reported by the
BUG-000158132: Fixed an issue where cloning a
SubtypeFeatureLayerdid not retain the
scaleproperties of sublayers.
BUG-000155955: The second raster image from a mosaic dataset disappears while interacting with the MapView.
The 3rd-party Libtiff library has been upgraded to 4.5.1.
Fixed a bug where an utility network that is configured with the "only include simple features" option could not be loaded from an ahead-of-time offline map.
Fixed a bug that did not preserve the rendering or pop-up configuration for a
SubtypeFeatureLayerwhen taken offline in some scenarios.
Improved performance and decreased memory usage when reading mobile map packages, webmaps, and webscenes.
Fixed a bug that cleared attributes of a child feature in a simple relationship when its parent feature was deleted.
Known issues or limitations for this release are listed below.
- BUG-000160506: Using
GeometryEditorto transform a geometry that has a different spatial reference than that of the associated map view can appear to distort the geometry. A workaround for this bug is to first project the geometry to the spatial reference of the map view and then pass it to the
- Added a Home screen to the sample viewer that features the new and the most commonly referenced samples.
- Removed telemetry from the sample viewers.
- Updated many samples' UI to work with Qt 6.5.1's updated Material theme.
- Enforced the light theme UI in all samples for a consistent user experience.
- Updated the XML methods in QML Graphics overlay (dictionary renderer) samples to work in Qt 6.
- Added voice guidance back to the routing samples.
- Updated the Navigate a route with rerouting sample to use the new asynchronous QFutures methods.
- Direct3D is now the default rendering API for Windows. Metal is now the default rendering API for macOS and iOS.
- Fixed cases where samples' README descriptions did not accurately reflect the sample behavior.