Have you ever wanted to add a time slider to your map but couldn't because you were working with a historical or geological date range? With the ability to set custom label format functions in TimeSliders and a little bit of data preparation, you can!
We fixed 31 bugs, added 5 new samples, boosted performance (more on that later), and announced that version 4.17 will be the last release to support IE 11 (and Edge Legacy).
Every release, we look for ways that we can further optimize performance, modernize the development process, and add sweet new features and functionality. The performance is for the end-user, the modernization is for the developer (and for us, I suppose), and the sweet new stuff is for everyone.
Faster loading and preprocessing for large FeatureLayers with many features. The StreamLayer can now handle much faster websocket streams. CSVLayer, GeoJSONLayer, and FeatureLayer created from client-side graphics are now taking advantage of aworkerto store the data. Point 3D SceneLayers now load and display up to twice as fast by supporting the latest I3Sspecificationversion 1.7. The new 3D BuildingComponentSublayerView class allows you to query features of a BuildingSceneLayer directly in the client.
After closely looking over the results from this release, you’re probably asking yourself about those sweet new features that did not necessarily significantly boost performance. Let’s discuss.
It is now possible to create and load non-spatial feature layers stored as tables in a Map, WebMap, or WebScene. The FeatureTable now supports editing date fields. A UI was added to make this workflow easier to manage. The new TableList widget provides a way to display a list of tables within a Map and/or WebMap.
The Print widget got a new exportedLinks property that allows you to access the collection of links exported from a print request, and two events, `complete` and `submit`, to give developers a much easier way to manage printing results and behavior.
The new StylePattern3D class provides different styles that are compatible with existing capabilities across the ArcGIS platform. Use the new polygon fill patterns to highlight areas on terrain or integrated mesh layers.
The Bookmarks widget now allows users to update a bookmark's extent and add a thumbnail.
We enhanced the LayerView in 2D MapViews by adding a fade-in and out transition to the LayerView when we turn the layer's visibility on and off.
The VectorTileLayer has an improved experience when loading and interacting with the map.
WMSLayer now supports layers that are time enabled. You can use the TimeSlider widget to animate your layers over a period of time, or you can set a timeExtent on the layer to only request data that falls within the given time extent.
There is so much more that’s new and exciting at 4.17 and 3.34. I hope this peer-reviewed blog entices your appetite to learn more. But before you do that, please check out our new guide topic: Breaking Changes. With this page, you can easily find all the breaking changes from every 4x release in one easy spot. So, if you are upgrading from say 4.10 -> 4.17, then scroll down on this page until you find 4.10, then scroll up to read the changes that apps will require to successfully migrate to 4.17.
We fixed 20 bugs, added 65 new classes, created 24 new samples, and over 99% of the codebase is now written in TypeScript.
Blending-in is the new standing-out
Ever wanted to combine one or more layers together to produce what looks like a new layer? Sounds cool, right? To accomplish this, we introduced a new capability called layer blending. This powerful capability allows you to apply blend modes to your layers to create striking visual effects.
At 4.15, we introduced a new SceneView.performanceInfo property to offer insight into the performance and memory consumptions of layers in your 3D scene. Now at 4.16, we’re ready to share this with the world. Heads-up: this property is experimental, prices and participation may vary, and can change at any time. But if you’re into performance metrics and 3D scenes, check out this new feature in your testing environments.
If you like labeling, you’ll love the new Honey Nut Clusters FeatureReductionCluster.labelingInfo property that allows you to label clusters based on count, or based on any summary statistics used by the cluster popup.
Client-side geometric modifications (like clipping) on IntegratedMeshLayers in 3D SceneViews, are you serious?! Yes, very much so. With the SceneModifications class, you can now modify parts of an integrated mesh using polygon geometries. Focus on your areas of interest; ignore the noise.
Remember, back in the day, when we released CIMSymbol for point features? Well, now you can do the same with lines and polygons in 2D MapViews. So create those custom symbols for all geometry types by using multiple symbol layers. And yes, you can print them just fine.
We enhanced the WaterSymbol3DLayer to reflect any 3D objects on water surfaces. The SceneView.environment property, which already has tons of options to make your 3D scenes even more beautiful and realistic, now has a fun waterReflectionEnabled property.
Oh yeah, thanks for the reminder. At every release we modernize the API. Fact. Sometimes we add things, sometimes we remove them. At 4.16, the API returns native promises by default. You can no longer opt-out with the handy has flag. We removed Dojo’s declare module, and pretty much stopped using Dojo altogether, although it’s still available with the CDN build. We also changed our will and stopped being supportive of multiple class inheritance, so start thinking about Accessor mixins. Read more here:
Because we have so much fun “at the office” developing new stuff for you, we like to showcase our updates and answer any questions that you may have in-person. We do this a couple times per year at conferences like the Developer Summit and the User Conference.
Select layers from the Living Atlas are available for overlaying on the map
Various slides have been added to the underlying Web Scene. Every time you click the widget, you are guided to a new location and the relevant title is displayed. The vertical exaggeration and basemap get updated according to slide settings
Download a .png image of the current map view. Layer List settings are honored
Contact the developer and look for information or provide feedback (via Survey123 form)
Copy the current URL to clipboard
Alter the vertical exaggeration of the elevations from 0 to 100 using a slider
Toggle between Esri Imagery and National Geographic basemaps
As you pan the scene, view the elevation of the map center point in meters and feet
x, y, z, wkid, heading, tilt, fov: These are updated as you browse the 3D Scene so you can bookmark areas of interest
basemap: Updates as you toggle basemaps
exaggeration: Stores the current vertical exaggeration
Original screen resolution determines whether vertical exaggeration widget is expanded by default
Cool Living Atlas layers available through the app are listed below:
Distance to Shore
Distance to Coast
TopoBathy Elevation Tinted Hillshade
Temperature - Sea Surface
Temperature - Sea Floor
Temperature - Land - January Average
Temperature - Land - July Average
Population - 2016 Density Estimate
Geomorphology - Sea Floor
Earthquakes (Recent) - Shake Intensity
Earthquakes (Recent) - Events by Magnitude
Earthquakes (Major) - Historic Records
Volcanic Eruptions (Significant) - Historic Records