A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.arcgis.com/javascript/latest/4.28/ below:

Release notes for 4.28 | Overview | ArcGIS Maps SDK for JavaScript 4.33

October 2023

Maps SDK components (beta)

With this release, we are introducing a brand-new web component library for building web mapping apps with minimal code. The component library currently consists of the 3 packages listed below, but will expand over time with more pre-built ArcGIS experiences (encapsulated into web components) that can be easily brought into your own app.

Map components

The @arcgis/map-components package contains the map, scene, and all the JavaScript Maps SDK widgets wrapped as web components. While these components don’t offer new capabilities, they are an alternative option for quickly building mapping apps including when integrating with frameworks.

In the example below, a web map with a legend is created using the arcgis-map and arcgis-legend components.

Use dark colors for code blocks Copy

1
2
3
<arcgis-map item-id="05e015c5f0314db9a487a9b46cb37eca">
  <arcgis-legend position="bottom-right"></arcgis-legend>
</arcgis-map>
Coding components

The @arcgis/coding-components package will eventually contain a wide range of tools, resources, code editors and utilities that support coding. Currently, only the Arcade editor component is supported, which allows the end user to create Arcade expressions that drive aspects of your map or app within your solution. They will have the same experience editing their Arcade expressions as they do in Map Viewer and the Arcade playground.

Resources

To learn more about the ArcGIS Maps SDK components, check out the following resources:

Improved experience for date and time

This release introduces new ways to work with time enabled data, including new field types to better represent dates with different levels of information, and time zone support for 2D MapView and widgets.

New date field types (beta)

Three new date-focused field types were added this release — date-only, time-only, and timestamp-offset — to represent different levels of information when working with date and time values. See the table below for more information about each field type and when to use them.

Field type Description When to use date-only Represents a specific date, without time, from the start of the day to the end of the day. Use this data type to store specific dates, such as a birth date, holiday, or historical date where time/time zone has no significance. time-only Represents a time-of-day value, such as a daily alarm clock, limited to a specific time of day within the range of 00:00:00 - 23:59:59. Use this data type to represent a time without a date, such as opening and closing hours of different services, or to group times with similar characteristics, such as hours of high or low-activity in a cluster. timestamp-offset Represents a date with time zone awareness, making it possible to work with dates and times so that any date and time value unambiguously identifies a single point in time. Use this data type when storing date and time information across multiple time zones. For example, crime and accidents data can be recorded in the time zone where the incident happened, which can help identify how different events are distributed throughout the day across different time zones.

With the new timestamp-offset fields, we can compare data across time zones, as shown in the example below where we query for all incidents that occurred at 6:00 pm in their respective time zones.

Note

FeatureLayer and MapImageLayer can be time aware based on date-only and timestamp-offset field types.

Time zone support in MapView

This release introduces time zone support on 2D MapView, providing control over how dates and times are represented to users within the view. In previous versions, the date and time values were always displayed in the time zone of the device. Setting the time zone can be useful for displaying events like weather alerts or emergency incidents that are best conveyed in the local time zone of the incident for coordination and response purposes.

TimeZoneLabel widget

The newly added TimeZoneLabel widget can be used to display the MapView time zone.

Time zone support in widgets

Date values, including values from the date and timestamp-offset field types, will be displayed in the view's time zone by default in widgets that display dates. For widgets that can be used without a view, such as TimeSlider, FeatureTable, and FeatureForm, we added a timeZone property to allow users to set the time zone on the widget directly.

Editor widget - additional considerations when working with time zones

Like other widgets, the Editor widget displays the date field type in the MapView's timeZone by default. However, when working with the timestamp-offset type, the data is displayed using the stored date values from the service. For example, if the stored value is 2023-09-11T22:39:05.242-0400, then the Editor will present three inputs to edit the date (9/11/2023), time (10:39:05 PM), and time zone offset (GMT-4) regardless of the MapView time zone. Here are a few points to consider if using an unknown timezone:

Time zone support in layers Oriented imagery

OrientedImageryLayer provides users the ability to manage oriented (non-nadir) images and visualize them using the OrientedImageryViewer widget. This layer is composed of discrete point features (or camera locations), each of which has a geometry that allows it to be rendered in a 2D MapView as a graphic with spatial context. These features also contain data attributes that provide additional information about the real-world feature they represent.

The OrientedImageryViewer widget allows users to explore and adjust their oriented images from the oriented imagery layers. Users can click on a map to view the best image in their collection that depicts that location. Users then can view assets from multiple directions, and enhance contrast, brightness and sharpening to better see these images.

New basemap styles

This release brings support for new basemap styles with localized place labels from the basemap styles service (v2). These basemaps can be created from a string in the form of {provider}/{style}, where provider is "arcgis" or "osm". See Basemap styles -> Requests for the full list of available styles.

The new Basemap.style property allows you to specify both the basemap ID and the language. If no language is specified, the app's current locale will be used to determine the language of the place labels.

Check out the new basemap styles in action in these tutorials: Change the basemap style and Change the basemap language.

Note

Use of the basemap styles service requires authentication via an API key or user authentication.

ArcGIS Outdoor basemap with Spanish place labels Feature-to-feature relationship editing

The Editor widget now has the ability to edit feature-to-feature relationship data. Prior to this release, editing was solely supported on data related via feature to table. Similar in experience, a relationship element must be configured within the FormTemplate for the Editor to support editing related data. If the form's template is not set or is not configured to contain relationship elements, the Editor will not display the option to edit the relationship data. For additional information on editing related records, please refer to the Editor widget documentation.

Enhanced polygon label placement

We enhanced label placement for polygon features of non-MapImageLayer layers in 2D MapViews. Polygon labels are now better placed inside their features. This is especially apparent for irregular shapes, such as the states of Florida and Louisiana. Compare the difference in the images below.

With View.theme, it is possible to customize the color of interactive tools in both 2D MapViews and 3D SceneViews. A custom theme can complement a web site’s branding, or improve contrast and legibility when tailored to the map design.

This new property allows for the creation of customized apps that are more user-friendly and meaningful. The theming influences sketching, snapping, as well as all analysis tools: measuring, dimensioning, slicing, line of sight, and the elevation profile.

See the new sample below to explore how custom theme colors can better fit your application's style.

3D updates Show background color while terrain loads

When loading a VectorTileLayer with a background color set, this color will now be displayed instead of the default grid. This offers a smoother transition when navigating between different parts of a map that haven't loaded yet. This new behavior can now be observed with many of our official basemaps. Using the ArcGIS Vector Tile Style Editor, you can also add a background color to your own vector tile layers to benefit from this change.

Layer updates Saving layers as a portal item

StreamLayer, SubtypeGroupLayer, ImageryLayer, ImageryTileLayer and GroupLayer can be saved to a portal item in ArcGIS Online and ArcGIS Enterprise with the save and saveAs methods on respective layers. This allows you to define a renderer with 2D symbology and popupTemplate etc. on your layer and then save it to a PortalItem. Saving many related layers into a GroupLayer portal item provides a new and powerful way to share thematic content without a map.

MediaLayer animated GIF/PNG support

The MediaLayer now supports animated GIF and APNG images. AnimationOptions are used to control the animation of the image (such as duration, repeatType, etc.). See it in action in the new MediaLayer with animated GIF sample.

VectorTileLayer initial extent

The new initialExtent property on VectorTileLayer allows you to easily zoom to the bounds of the tiles when the source of the layer's style references a TileJSON resource.

Watch for updating data on feature layer views

The new dataUpdating property on FeatureLayerView, CSVLayerView, GeoJSONLayerView, OGCFeatureLayerView and WFSLayerView indicates if the layer view is updating its data and new features are being fetched. Watch this property along with the updating property to know when to re-execute client-side queries after an update cycle. This property is currently only supported in 2D MapView. See it in action in the updated Query statistics client-side sample.

Raster function utility methods

The rasterFunctionUtils module offers over 100 functions that create RasterFunctions for imagery processing. Utility methods in this module make raster function generation easier when applying raster functions to ImageryLayer and ImageryTileLayer.

Custom chart colors

At this release, chart colors can be customized using the new colors property on the ChartMediaInfoValue class. These colors are respected when displaying charts in the Popup, Features, and Feature widgets. Customizing chart colors is as simple as creating an array of color objects that is equal to the length of the fields property.

Use dark colors for code blocks Copy

1
2
3
4
5
const chartMediaInfoValue = new ChartMediaInfoValue({
  colors: [new Color("red"), new Color("yellow"), new Color("green"), new Color("blue")],
  // colors will be applied to each field in their respective order
  fields: ["field1", "field2", "field3", "field4"],
});

The default colors used in charts were updated to meet the WCAG contrast ratio accessibility standards for both light and dark theme. Symbology can be set with these colors by using the new "Olympic Sunset" color ramp.

Popup design updates Refactor to use Calcite Design System

The Popup widget has been refactored to utilize Calcite Design System components. This update results in the action bar being anchored below the Popup header and the pagination buttons being moved to the opposite side of the Popup from the feature menu button.

Feature menu layer grouping

The feature menu for viewing a list of features selected in the Popup or Features widget now groups the features by layer. Now you can easily distinguish which layer the feature resides in with the list view. This change is also applied when browsing clustered features.

2D performance in non-GPU environments

GPUs are important for basic performance in virtualized environments. When no hardware acceleration is detected, the API library automatically attempts to improve map interaction and user experience for some Virtual Desktop Infrastructure (VDI) desktop environments and Remote Desktop Session Host (formerly called Terminal Server) sessions. This is accomplished by switching to a degraded 2D rendering mode.

SimpleMarkerSymbol outline styles

We've added support for outline styles on SimpleMarkerSymbol in a 2D MapView. All of the styles supported on SimpleLineSymbol (dash, dot, etc.) can now be used in the outline of your SimpleMarkerSymbol.

New color ramps

We added the following scientific color ramps to the high-to-low continuous color theme and the heatmap smart mapping APIs.

These color ramps are great options for visualizing data along a continuous color ramp, and are especially friendly for people with color vision deficiencies.

Big integer support (beta)

The big-integer data type is a 64-bit signed integer that can store very large whole number integer values with the range of -9007199254740991 and 9007199254740991. Numbers that fall outside of this range may be rounded resulting in graphical or performance issues. Web applications can only edit whole numbers between -9007199254740991 and 9007199254740991. Any attempts to edit a number value higher or lower than these thresholds will not work and those edits will not be saved.

The API throws warning about big integer fields in the console about its known limitations. Please use the following the following flag to disable the warnings.

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
<script>
  var esriConfig = {
    has: {
      "big-integer-warning-enabled": false
    }
  }
</script>
Printing updates

We laid the foundation for printing charts and reports with an ArcGIS Enterprise 11.2 print service. This is currently available when working with print and PrintViewModel. Similar updates are planned for the Print widget.

Charts are stored inside an operational layer definition, and can be printed using PrintTemplate.includeCharts. Typically, a report will be printed with a map in a multi-page pdf file. Reports require templates, similar to layouts, which can be defined using the PrintTemplate.report or PrintTemplate.reportItem property. Lastly, the PrintTemplate.reportOptions property will link the various report elements to their data source.

We also added TemplateOptions.includeTables to add more options for printing tables. Note that PrintTemplate.includeTables was added at version 4.26.

FeatureService and VersionManagementService

A new FeatureService class was added to represent the feature service, which contains all its FeatureLayers and non-spatial tables. The FeatureService contains URLs to the version management service or utility network service if the feature service was published with a utility network or with versioning enabled. The FeatureService class can be used to make edits across multiple layers and tables that belong to the feature service in a single applyEdits() call. Take a look at Perform Edits using the Feature Service to learn more about editing using the new FeatureService class.

A new VersionManagementService class was added to represent the version management service, and expose the service capabilities. The VersionManagementService can be constructed from either a URL to a version management service, or also by using the FeatureService.versionManagementServiceUrl when working with a FeatureService. The VersionManagementService provides support for branch versioning workflows with the following capabilities:

Utility network updates Utility network rule based snapping support

The Editor widget now supports utility network rules. The Editor will detect if there is a loaded utility network on the map, and if there is, then it will apply the rules defined by the utility network. The image below shows an example of creating a Circuit Breaker from the Electric Distribution Device layer. As the cursor hovers over the features on the map, one will notice that the Circuit Breaker cannot snap to the Transformer or Pole features. However, the Circuit Breaker feature can snap to the Medium Voltage line endpoint from the Electric Distribution Line layer. This behavior is defined by the network rules, and thus it is now respected by Editor’s snapping workflows.

Limitation: Currently, it is possible for a point to snap to another point with a junction-junction connectivity network rule type. WebMaps containing SubtypeGroupLayers are currently not supported.

UtilityNetworkAssociations widget settings

This release introduces a new settings section in the UtilityNetworkAssociations widget to configure the line symbology for connectivity and structural attachment associations. These settings can be enabled from the widget's visible elements property.

Added classes, properties, methods, events Deprecated classes, properties, methods, events Breaking changes Removal of watchUtils

The watchUtils class has been deprecated since version 4.24 and has been removed from the API at this release. This is a breaking change and applications will need to use reactiveUtils instead, which provides significantly improved utilities and convenience functions for watching properties inherited from Accessor. Check out the Why you should be using reactiveUtils instead of watchUtils blog for more details on how to migrate from watchUtils to reactiveUtils.

TypeScript breaking changes Additional breaking changes

The following classes, methods, properties and events have been deprecated for at least 2 releases and have now been removed from the API:

Please refer to the Breaking changes guide topic for a complete list of breaking changes across all releases of the 4.x API.

Bug fixes and enhancements Additional packages

Version 4.28 of the ArcGIS Maps SDK for JavaScript uses ArcGIS Arcade 1.24 (since 4.28).

Version 4.28 of the ArcGIS Maps SDK for JavaScript uses Calcite Design System, version 1.9.2.

How to access the SDK Previous releases

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4