ArcGIS API for JavaScript 4.24 and 3.41

1238
7
06-23-2022 01:07 PM
Noah-Sager
Esri Regular Contributor
2 7 1,238

Appetizer

Let’s set the table: welcome to the release of versions 4.24 and 3.41 of the ArcGIS API for JavaScript. Here are some of the 4.24 highlights (please refer to the 3.41 link at the end for 3.x updates). I also snuck in some dessert towards the end of this blog, if you're into that sort of thing. We fixed 27 bugs, made 8 enhancements, and added or updated 15 samples. We also bid farewell to Internet Explorer 11.

Appetizer.png

 

Salad

Tasks have been deprecated since 4.20. They were removed at 4.24. The API now uses WebGL2 by default, and it will fallback to WebGL1 depending on the browser. FeatureLayers can be saved to ArcGIS Online and ArcGIS Enterprise with the new save() and saveAs() methods. MapView and SceneView hit test results now return GraphicHit and MediaHit results.

 Salad.png

 

Entrée

3-dimensional

Weather affects maps too. Make your scenes more immersive with the new rainfall and snow effects. And/or, you can explore and use free OpenStreetMap 3D data hosted by ArcGIS Living Atlas. These 3D layers present buildings, thematic trees, and realistic trees based on OpenStreetMap (OSM) data, which will be updated every month. Also, blend modes can now be used in 3D scene views to blend layers together to create a variety of very vibrant and intriguing results, unlike the method of using transparency which can result in a washed-out top layer. We enhanced the daylight widget with an option to change the lighting mode to virtual light.

3-dimensional.gif

https://developers.arcgis.com/javascript/latest/release-notes/ - 3d-updates

 

It’s the routing, not the destination

The Directions widget is now integrated with the RouteLayer, which means that it should now be instantiated with a new or existing RouteLayer. New functionality includes the ability to save routes, and modify the visibleElements in the Directions widget UI. The Directions widget can also open and edit existing route portal items. RouteLayer can use custom symbology with the defaultSymbols property, and now works in both 2D MapViews and 3D SceneViews.

routing.png

https://developers.arcgis.com/javascript/latest/sample-code/widgets-directions/

 

Follow Print the north star arrow

The Print widget now has an option to “Include north arrow” in the Advanced options, and rest/print also has a configurable property to include the north arrow in the printout. Note that the print service must have a north arrow configured on a per-layout basis for this option to be available.

print north arrow.png

https://developers.arcgis.com/javascript/latest/sample-code/widgets-print/

 

Heatmap Summer

The HeatmapRenderer now renders with WebGL, which means it can now take advantage of the following benefits:

  • More data can be rendered
  • Interacting with heatmaps is faster, smoother, and potentially hotter
  • Data can now be filtered using FeatureFilter and FeatureEffect
  • Underlying points in a heatmap can now be labeled, display popups, and be returned in a hitTest

We also added a referenceScale property, which allows you to lock-in the heatmap visualization at a specific scale so it will appear consistent when zooming in and out.

heatmap.png

https://developers.arcgis.com/javascript/latest/release-notes/ - improved-heatmaprenderer

 

Awesome Arcade API

Awesome app developers now have the ability to compile and execute Arcade expressions in their own custom profiles. They will be able to do the following:

  • Execute expressions already written for existing ArcGIS profiles in another context
  • Evaluate Arcade expressions to display feature values outside the popup in a custom component
  • Define custom Arcade profiles and provide a configurable experience within an app for users to write their own expressions

https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html

 

Binning: clients first

Binning is a technique that changes the way data displays at small scales. It converts the original data values into a range of smaller intervals, which are known as bins. Binning is also a new feature reduction method added as an alternative to clustering and heatmaps in 2D MapViews. You can configure the labels, popups, fields, and renderer of a layer's bins. Server-side binning, which will allow you to display aggregates of very large datasets, will be added at a future release.

binning.png

 https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureReductionBi...

 

Easy as pie charts

The PieChartRenderer allows you to visualize multiple attribute values of a feature in a point or polygon layer in a 2D MapView. The value of each pie slice can be determined by a field value or Arcade expression. Use the PieChartRenderer with visualVariables to vary the size of the pie chart based on an Arcade expression, such as the sum of its fields.

pie charts.png

https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PieChartRenderer.html

 

Social media layers

The MediaLayer class is used to add image and video elements to the map at a specified geographic location. So it’s like an enhanced version of the 3x MapImageLayer. This layer can be used to display old scanned maps, weather data, satellite imagery, fantasy images, videos, and more! The geographic location of the image or video can be set using the extent and rotation, or the corner points.

media-layer.gif

https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MediaLayer.html

 

And now, time for something slightly different.

 

Dessert

Title: Doctor ArcGIS API for JavaScript (feat. version 4.24)

Disclaimer: The views and opinions expressed in the below song are those of the author and do not necessarily reflect the official policy or position of Esri, or any of its affiliates.

 

They call me Doctor ArcGIS API for JavaScript

Good morning, how are you? I’m version 4.24

I’m interested in enhancements

I’m not really a doctor

But I am a real API

I am an actual API

I make pretty maps

 

I like to visualize spatial data

I think I’m getting good

When I use the new MediaLayer

I’ll show you pie chart rendering

And you can tell me if you think

You’ll need to print client-side binning

I’ll enhance the Directions widget

‘Cause it needs a RouteLayer

 

When I’m coding

I can’t tell if you are

Using the Arcade executor API

When I get released, you can

Use improved heatmaps

And save feature layers

 

Some day, somebody else besides me will

Release a new version, they will

Call me version 4.24

Good morning, how are you? I’m version 4.24

I’m interested in enhancements

I’m not really a doctor

But I am a real API

I am an actual API

I make pretty maps

And I like to visualize spatial data

I think I’m getting good

When I use the new MediaLayer

I’ll show you pie chart rendering

And you can tell me if you think

You’ll need to print client-side binning

I’m not really a doctor

But they call me version 4.24

 

Digestifs

Release Blog

https://www.esri.com/arcgis-blog/products/js-api-arcgis/announcements/whats-new-in-arcgis-api-for-ja...

Tasks/rest blog

https://www.esri.com/arcgis-blog/products/js-api-arcgis/developers/rest-is-up-to-the-task/

Routing & Directions blog

https://www.esri.com/arcgis-blog/products/js-api-arcgis/developers/changing-directions/

4.24 Release Notes

https://developers.arcgis.com/javascript/latest/guide/release-notes/index.html

4.24 Samples

https://developers.arcgis.com/javascript/latest/sample-code/?tagged=4.24

3.41 What’s New

https://developers.arcgis.com/javascript/3/jshelp/whats_new.html

Breaking Changes across all 4x releases

https://developers.arcgis.com/javascript/latest/guide/breaking-changes/index.html

Song inspiration

Doctor Worm

Fair use and Parody law

https://en.wikipedia.org/wiki/Fair_use

 

7 Comments
JoelBennett
MVP Regular Contributor

The release notes indicate the downloads would be available July 6 (yesterday), but they are still not presently listed on the download site.  Is there a new ETA?

AnneFitz
Esri Regular Contributor

Hi @JoelBennett - sorry for the delay! They should be available by the end of the day today.

JoelBennett
MVP Regular Contributor

Got it...thanks also for decreasing the wait time from 3 weeks down to 2 for this release.

JamesNurse
New Contributor

Hey, what's the timelines of server-side binning being implemented. We have to gather our data from ELK queries due to the amount of filters possible and large amounts of data. We were initially hoping that we could render items from a data set like this, but re-reading the documentation it appears this approach isn't possible. I don't believe this scale of data would work with local binning solution either?

JamesNurse_0-1661177326827.png

The entire purpose of this is we are looking for an effective way to render & cluster large amounts of point data, that's got user configurable filtering.

KristianEkenes
Esri Regular Contributor

@JamesNurse 

We're targeting server-side binning sometime next year. We're already doing research on the project now, but it won't be available until at least March of 2023 (this is not a release date, just a very loose estimate on the earliest you would see it). 

JamesNurse
New Contributor

Thanks for the heads up Kristian, really appreciate the clarification about this. Do you know whether this type of solution would handle in browser loading of the bins into a front end rendered map (I assume by injecting this into a feature layer) from a secure XHR request like the image above.

KristianEkenes
Esri Regular Contributor

Yep. The server-side solution would request bins from the server, not individual features. Though you would be able to query a bin for its individual features.

About the Author
Noah Sager is a Product Engineer on the ArcGIS Maps SDK for JavaScript team at Esri. Prior to joining Esri, he mapped utility lines around Appalachia, investigated public restroom access in Chicago, and studied foraging behavior in squirrels in Canada.