A new layer type, VectorTileLayer, accesses cached tiles of data and renders it in vector format. It is similar to a WebTiledLayer in the context of caching; however, a WebTiledLayer renders as a series of images, not vector data. VectorTileLayers contain geometry, attribute, and style data in individual layers. Styles can be customized client-side.
To get better familiarized with the properties, methods, and events of this layer, please see the VectorTileLayer API reference for additional information.
The FeatureTable widget was taken out of beta at version 3.15. With this comes improved functionality and bug fixes such as:
enableLayerClick
, enableLayerSelection
, and gridMenu
outFields
is not set to the wildcard, ["*"]
Beginning with version 3.15, both esri/geometry/geometryEngine
and esri/geometry/geometryEngineAsync
objects are no longer considered beta.
These modules each provide more than 30 methods for measuring, overlaying, and testing spatial relationships between geometries in web applications. They include functions such as buffer, intersect, and offset for calculating proximity, spatial relationships, and measurements of area and length all client-side. No network requests are made when using any GeometryEngine
functions. This means that using GeometryEngine
in favor of GeometryService
can significantly enhance the user experience in web applications, particularly in editing applications or when working with a large number of geometries.
The following blog posts explain some of the benefits of using GeometryEngine and include samples using GeometryEngine for various purposes, including testing spatial relationships while editing, measuring, and overlay.
The createPredominanceRenderer() method was added to the smartMapping module allowing you to generate a UniqueValueRenderer showing the predominant value in each feature among a set of two or more competing fields. For example, in the sample below the map depicts the predominant educational attainment of adults in each U.S. county. Blue features indicate that more adults in the county earned a bachelor's degree than the number of adults in any other educational attainment level. Counties shaded with orange indicate more adults finished high school and didn't continue on to college than the number of adults in any other educational attainment level. Opacity may optionally be used to show the strength of the predominant variable.
Version 3.15 introduced the ArcGIS Symbol Playground. This sample provides a place to explore symbol capabilities of the API. Here you can try out new features, customize them, and copy the generated code into your own application. It also provides a starting point so as to allow use of these features as quickly as possible.
The sample works with symbols such as: SimpleMarkerSymbol, SimpleLineSymbol, SimpleFillSymbol, CartographicLineSymbol, PictureMarkerSymbol, PictureFillSymbol, and TextSymbol. The playground displays the symbol in addition to providing an easy-to-use UI for modifying properties. Once modified, the symbol updates appropriately while updating the sample snippet displaying how it appears in code.
Visit the documentation for each renderer class regarding details and code samples for each symbol type.
Numerous improvements have been made to the SmartMapping sliders' design. These improvements include:
Improvements were made to the Legend
widget. These include:
The ArcGIS API for JavaScript is available via the CDN version, it can be downloaded and hosted locally, and for the majority of developers wanting to create custom builds, the ArcGIS API for JavaScript Web Optimizer is a great tool.
However, if you are already using Grunt, Gulp, or npm to write your applications, you will find the Bower package useful. The Bower package of the ArcGIS API for JavaScript is now available on GitHub. If you have a requirement to integrate the ArcGIS API for JavaScript into your current build steps, then the Bower package may be just right for you.
The CSS class name .container
used by Map was renamed to .esriMapContainer
to avoid CSS conflicts with other frameworks. The .layersDiv
class was also renamed to .esriMapLayers
.
Renaming these classes is a breaking change for apps that use them for customized CSS. These changes to the class names won't affect the majority of applications, which don't alter CSS properties in these classes.
VectorTileLayer
elevationMarkerStrokeColor, elevationMarkerSymbol,
and mapIndicatorSymbol
on class ElevationProfile
enableLayerClick
, enableLayerSelection
, gridMenu
on class FeatureTable
showLegend
, showOpacitySlider
, showSubLayers
(Renamed from subLayers,
) on class LayerList
allPlaceholder
, defaultSource
, enableSearchingAll
, locationToAddressDistance
on class Search
searchTemplate
, useMapExtent
, searchQueryParams
, suggestQueryParams
for the Object[]
sources property on class Search
pixelFilter
on class RasterLayer
rotationInfo
on class Renderer
mapWidgetId
on class DataSourceProxy
portalUrl
on class ExtensionBase
haloColor
, haloSize
on class TextSymbol
showratiolabels
on class ColorInfoSlider
title
on class ElevationProfile
.on("zoomed")
on class ColorInfoSlider
.on("zoomed")
on class OpacitySlider
.on("zoomed")
on class SizeInfoSlider
.on("get-custom-field-names")
on class BatchValidationTask
.on("get-custom-field-names")
on class DashboardTask
.on("get-custom-field-names")
on class ReviewerResultsTask
relatedFeatureWarning
on the .on("update-end")
event on class StreamLayer
.on("title-changed")
on class ElevationProfile
createPredominanceRenderer ()
on object esri/renderers/smartMapping
geodesicDensify()
on object esri/geometry/geometryEngine
geodesicDensify()
on object esri/geometry/geometryEngineAsync
setPixelFilter()
on class RasterLayer
getAdvancedQueryCapabilities()
on class DataSourceProxy
createColorInfo()
, createSizeInfo()
on object esri/renderers/smartMapping
setHaloColor()
and setHaloSize()
on class TextSymbol
getCustomFieldNames()
on class BatchValidationTask
getCustomFieldNames()
on class DashboardTask
categories
and countryCode
on Location.addressesToLocations
methodgetCustomFieldNames()
, getResultsFieldNames()
on class ReviewerResultsTask
useCors
supports "with-credentials" as a new option.corsEnabledServers
can now contain objects with host
and withCredentials
properties.
Additional information about these updates can be found in the Default API configurations
topic.source
property, locationToAddressTemplate. This provides a template string used to customize the value
for a returned geocoded address. This property was introduced due to an issue where coordinates were displayed instead of addresses after reverse geocoding.measure-end
event to fire.sizeInfo
works.draw-end
event to state that it is deprecated. Instead, use draw-complete
event.ArcGISTileMapServiceLayer
constructor option, resampling, works.pixelFilter
property and setPixelFilter()
method.Use the repository on GitHub for the JS API TypeScript definitions.
Version 3.15 of the ArcGIS API for JavaScript includes: