Skip To Content

Release notes for 10.2.7

In this topic

These release notes describe details of the ArcGIS Runtime for .NET 10.2.7 release. This release adds improvements in 3D mapping, Keyhole Markup Language (KML) layers, network analysis, and more. The release also improves the quality of the APIs by addressing issues affecting areas such as map display, querying, and the use of local data.

New functionality

The 10.2.7 release includes enhancements to 3D mapping that provide a better scene interaction experience for the user, more efficient tile and surface rendering, and improved label display. New network analysis tasks have been added for determining service areas and closest facilities along a network, and several improvements have been made to KML layers. The following lists improvements and new functionality for this release.

3D mapping improvements

  • Depth based scene navigation
    • Better calculation of mouse/touch location in three dimensions
    • Smooth navigation towards the surface, buildings, or objects under the mouse/touch location
    • Accurate navigation relative to objects in a scene (buildings, for example) and navigating around these objects is now possible
  • Interactive navigation options (see the Scene navigation topic for details)
    • Enable or disable keyboard, mouse, touch, or stylus input
    • Set mouse wheel direction for zooming in/out
    • Set zoom factor and flick inertia
  • Tile rendering and elevation improvements
    • More efficient management of imagery resources for tiles and terrain/elevation data
    • Optimized tile rendering
    • Reduced memory usage
  • Atmospheric effects: Enable basic or realistic atmosphere representation
  • Labeling
    • Fade in/out of label display
    • Label alignment adjusts during navigation
    • Resolution of label conflicts for increased readability
  • KML: Support for extrusion, altitude modes, and model symbols

New network analysis tasks

  • Service area task: Calculate service area polygons for a set of facilities on a network
  • Closest facility task: Determine routes from points on a network to the closest facility

Others

  • Support for developing with Visual Studio 2015 and Blend 2015
  • GeodatabaseSyncTask.Unregister is overloaded to accept a replica ID (string) rather than the full Geodatabase object
  • KML enhancements, including Network Link and improved authentication handling.

Bug fixes

In addition to addressing overall quality and the new functionality added to the APIs, the following bugs have been fixed with the 10.2.7 release.

  • Layers in a Scene do not display correctly around the poles.
  • A search for features from an ArcGIS for Server 10.3 service using FindTask.ExecuteAsync does not honor a value of true for FindParameters.Contains. This prevents searching for anything but exact matches of the find string from those services.
  • BUG-000084840 MrSID raster imagery added via the DynamicLayer endpoint displays with higher than normal brightness.
  • BUG-000087473 GeodatabaseFeatureTable.QueryRelatedAsync throws SEHException.
  • BUG-000090122 DynamicLayerInfomin/max scales are not honored when rendering a DynamicLayer in WGS84.
  • BUG-000090189 LocalLocatorTaskfails to initialize when the path to the locator contains multi-byte characters.
  • BUG-000090851 Rapid zooms or pans on a MapView containing layers from a .geodatabase file may produce an access violation error.
  • BUG-000091175 LocalServer fails to start the LocalMapService when loading a map package that uses third party fonts.
  • ShapeFileTable.OpenAsync fails with custom SR PRJ file citing Invalid argument : wkt.size() == 0 (GeoNet)
  • GraphicsLayer labels do not display on the MapView when the layer RenderingMode is Static (GeoNet).
  • Store app may freeze when loading layers with labels from local geodatabase (GeoNet).

Known limitations

The following list describes known limitations or issues with the 10.2.7 release. Where one is available, a workaround is described.

Note:

Several graphic issues are specific to the graphic layer rendering mode. The implied workaround for these issues is to change the rendering mode (if practical for your use case). See the Rendering modes topic for more information about choosing the rendering mode for a GraphicsLayer or GraphicsOverlay.

  • Windows 8.0 is no longer supported as an app development or deployment platform with the 10.2.7 release. For more information please see: Deprecation Plan for ArcGIS.
  • Per the Microsoft life cycle support policy, the following platforms are no longer supported for deployment unless they are at the appropriate service pack level: Windows Server 2008 R2, Windows 7.
  • The .NET Framework 4.6 is now supported with the 10.2.7 release. Framework version 4.5.2 is still supported, but versions 4.5 and 4.5.1 are not as they are no longer supported by Microsoft.
  • [3D] A scene does not use the extent of the base layer to define an initial view. This contrasts with the behavior of the map.
    • Workaround: Handle the LayerLoaded event for the Scene control and set the initial view to focus on the layer.
      private void MySceneView_LayerLoaded(object sender, Esri.ArcGISRuntime.Controls.LayerLoadedEventArgs e)
      {
          if (e.LoadError == null && e.Layer.ID == "MyLayer")
          {
              var initialViewpoint = new ViewpointExtent(e.Layer.FullExtent);
              var animationDuration = TimeSpan.FromSeconds(2);
              MySceneView.SetViewAsync(initialViewpoint, animationDuration);
          }
      }
  • Read-only geodatabases are accessible from a Local Data folder if they are created using ArcMap 10.3. Older geodatabases or those in Write-Ahead Logging (WAL) mode cannot be opened from that location. This might be the case if the geodatabase was opened with an older version of Runtime and left into that state when closed.
  • Feature Services published to an instance of Portal for ArcGIS for which the hosting server is configured to use the ArcGIS Data Store are not supported.
    • Workaround: For the ArcGIS Server site which is federated as the hosting server with Portal for ArcGIS, create an enterprise geodatabase and register it as the ArcGIS Server's managed database through ArcGIS Server Manager or ArcGIS for Desktop.
  • [3D] Graphics near the horizon may exhibit display issues.
  • ArcGIS Runtime SDK for .NET is targeting support for KML version 2.2 and some extensions. The following lists some of the functionality, either from the KML 2.2 specification or Google extensions, that is not available in the ArcGIS Runtime KML implementation as of the 10.2.7 release.
  • [3D] Line styles for SimpleLineSymbol other than SimpleLineStyle.Solid are not displayed correctly on graphics in a Scene when rendered in dynamic mode.
  • Features with Z or M values in a ServiceFeatureTable cannot be edited via the ArcGIS Runtime API.
    • Workaround: create a new class that wraps REST calls to the underlying feature service to add, update, or delete features using System.Net.WebClient. More details are available on GeoNet.
  • [Desktop only]MapView or SceneView are not rendered correctly if added to a ContentPresenter.ContentTemplate.
    • Workaround: wrap the view control in a UserControl, then reference the user control in the ContentTemplate.
  • [3D] A change to the selection color (for a GraphicsLayer, FeatureLayer, or SceneLayer, for example) is only applied when the scene is drawing. If a selection color is changed after the scene has completely rendered, the new color is not effective immediately. It will be applied after the next navigation of the scene (pan or zoom).
  • Changes to an existing CompositeSymbol (adding, removing, or updating the symbols it contains) are not reflected in the display.
    • Workaround: Recreate, modify, and re-apply the composite symbol as illustrated in the following example.
      CompositeSymbol newSymbol = null;
      private void UpdateCompositeSymbol(Graphic graphic)
      {
        // ask for garbage collection to remove unused objects
        GC.Collect();
        
        // get the current symbol (now the 'old' symbol)
        CompositeSymbol oldSymbol = graphic.Symbol as CompositeSymbol;   
        
        // create a new composite symbol
        newSymbol = new CompositeSymbol();
      
        // copy all the symbols in the current composite to the new one
        foreach (Symbol s in oldSymbol.Symbols)
        {
          newSymbol.Symbols.Add(s);
        }
      
        // set the old symbol to null to mark it for eventual garbage collection
        oldSymbol.Symbols.Clear();
        oldSymbol = null;
      
        // TODO: make desired changes to newSymbol here ...
      
        // apply the updated composite symbol to the input graphic
        graphic.Symbol = newSymbol;      
      }
  • PictureFillSymbol.Angle and PictureFillSymbol.Opacity properties are not honored for graphics displayed in a MapView when the GraphicsLayer RenderingMode is Static.
  • [3D] PictureFillSymbol.Width and PictureFillSymbol.Height properties are not honored in a SceneView when the image source is based on an absolute URL.
  • HydrographicS57Layer is not available in the Windows Phone API. This layer type is available for Windows Store and Windows Desktop apps only at this release. We hope to make this available for Windows Phone in a future release.
  • [3D] Z values of Features from a feature service are not honored in a FeatureLayer displayed in a SceneView.
    • Workaround: Query the feature service with ReturnZ = true and display the results in a GraphicsLayer with the desired elevation mode, as shown in the following example.
      var queryTask = new QueryTask(new Uri("http://myserver/arcgis/rest/services/FlightPaths3D/FeatureServer/0"));
      var query = new Query("1=1");
      query.ReturnZ = true;
      
      var result = await queryTask.ExecuteAsync(query);
      
      var graphicsLayer = MySceneView.Scene.Layers["MyGraphicsLayer"] as GraphicsLayer;
      graphicsLayer.GraphicsSource = from g in result.FeatureSet.Features select new Graphic(g.Geometry);
  • TemporalRenderer.TrackIdField only supports fields containing string values.
  • [3D] New features cannot be added to a feature layer when editing in a scene. Geometry returned by SceneView events (SceneView.SceneViewTapped, for example) contains Z-coordinate values. These coordinates cannot be saved in a standard feature service.
    • Workaround: the geometry returned can be modified to remove z-coordinate values, which allow it to be stored successfully in a two-dimensional feature layer. The following example removes the z-coordinate value from a MapPoint before using the geometry to store a new feature.
      // get the 3D point passed to the SceneViewTapped event (with Z coordinate, in other words)
      var dddPoint = e.Location;
      
      // create a MapPointBuilder to edit the point
      var pointBuilder = new Esri.ArcGISRuntime.Geometry.MapPointBuilder(dddPoint);
                      
      // clear the Z coordinate value (set to NaN)
      pointBuilder.Z = double.NaN;
      
      // return the 2D point from the builder
      var pointWithoutZ = pointBuilder.ToGeometry();
      
      // get the feature table from the feature layer
      var featureLayer = MySceneView.Scene.Layers["MyFeatureLayer"] as FeatureLayer;
      var featureTable = featureLayer.FeatureTable as ServiceFeatureTable;
      var newFeature = new GeodatabaseFeature(featureTable.Schema);
      
      // create a new feature and set its geometry with the Z-less map point
      newFeature.Geometry = pointWithoutZ;
                      
      // add the new feature and apply edits
      await featureTable.AddAsync(newFeature);
      await featureTable.ApplyEditsAsync();
  • [3D] FeatureLayer layers displayed in a SceneView do not request additional features after exceeding the feature transfer limit determined by the service, the equivalent of QueryMode.Snapshot. This contrasts with the MapView, where the layer may request additional features as new extents are displayed (QueryMode.OnDemand).
  • Labels are not displayed for lines that share a vertex and have the same label value. While this is often the desired behavior (a single label for a street rather than one for each segment that composes it, for example), there is no option to enable distinct labels under those conditions.
  • [3D] Polyline graphics in a SceneView may suffer some display degradation during a SetViewAsync animation when the RenderingMode is Static.
  • Sharing the same map instance simultaneously among two or more map views, or scene instance among multiple scene views, is not supported and is likely to cause stability or performance issues. Similar issues are likely to be encountered when attempting to share graphics overlays, layers, or distinct feature layer instances that share the same feature service (ServiceFeatureTable) between multiple maps or scenes at the same time.
    • Workaround: if you need to reuse a Map or Scene in another view control, you should ensure that it is then removed from the previous control. The same technique can be used for reusing a layer instance between maps and/or scenes, as illustrated in the following example.
      var layer = MyMapView1.Map.Layers["MyFeatureLayer"] as FeatureLayer;
      
      MyMapView2.Map.Layers.Add(layer); // add the layer to a new map
      MyMapView1.Map.Layers.Remove(layer); // remove the layer from its original map
  • TemporalRenderer.LatestObservationRenderer may not display when zooming in and out.
  • [Windows Phone] Loading large datasets can be memory intensive and may cause crashes on low memory devices. If your app requires scenes, working with KML datasets that contain large amounts of data, and so on, you might consider disabling support for low-memory phones.
  • [3D] FeatureLayer labels do not display in a SceneView.
    • Workaround: Query the layer's FeatureTable, then create a GraphicsLayer to display the results with label classes.
  • [3D] Graphics with MultiPoint geometry do not display when the GraphicsOverlay.RenderingMode is Dynamic.
  • [3D] PictureFillSymbol properties: Angle, Opacity, Width, and Height are not honored for graphics displayed in a SceneView (whether in Static or Dynamic RenderingMode).
  • [3D] GPResultImageLayer does not render at all scales in a SceneView.
    • Workaround: Use GetResultMapServiceLayer instead of GetResultImageLayer to show the results of a geoprocessing task (for geoprocessing services running on ArcGIS for Server 10.1 or later).
  • [3D] A GraphicsOverlay or GraphicsLayer in Static RenderingMode does not render PictureMakerSymbol or PictureFillSymbol symbols when the image source uses a relative or absolute URI.
  • [3D] GraphicsOverlay or GraphicsLayer opacity is not applied when RenderingMode is Dynamic.
  • [3D] Graphics displayed in a SceneView using SurfacePlacement.Absolute mode may not update their Z value when elevation exaggeration is applied to the scene.
    • Workaround: After an elevation exaggeration is applied to the scene, clear and recreate the graphics displayed in the layer.
  • BUG-000089518: Geodatabase feature tables that contain features with arc segments or curves are not currently supported within ArcGIS Runtime. The Create Runtime Content ArcMap wizard and geoprocessing tool will persist these geometries within the output runtime geodatabase feature tables but they are not supported for use by the API.
    • Workaround: Use the Densify geoprocessing tool to remove arc segments and curves from the data you wish to use in ArcGIS Runtime.
  • BUG-000082987 / ENH-000086717: TextSymbol.AngleAlignment value of Screen is not honored when RenderingMode is static
  • BUG-000083692: AttributeLabelClass ignores the positioning values for the TextSymbol.
  • BUG-000090089 Geoprocessing packages created in ArcMap 10.3 and 10.3.1, that include the MakeFeatureLayer or MakeTableView tools are invalid.
  • BUG-000085985 Call ApplyAttachmentEditsAsync will fail when the ServiceFeatureTable references a LocalFeatureService.

Breaking changes

No breaking changes have been introduced with this release. For a detailed description of the changes between the previous (10.2.6) and current (10.2.7) releases, see the Esri.ArcGISRuntime assembly comparison.