Smart Mapping is a new approach that both developers and users of the ArcGIS platform will be able to leverage for making maps that are useful and visually stunning. This exciting new capability will increase productivity in developing and configuring applications by taking the guesswork out of the various decisions involved in generating cartographically appropriate, yet visually stunning maps. The goal is to be smarter about how the initial parameters of the map (color, scale, styling, etc.) are calculated so both novice and experienced developers/users will have better tools at their disposal to configure settings and visualize map data.
Cartographic workflows simplified by Smart Mapping options include:
Common mapping questions that Smart Mapping will help answer:
For more information on Smart Mapping see the Introducing Smart Mapping blog article, Smart Mapping video on esritv, API Reference, and sample below.
esri/renderers/smartMapping
moduleFeatureLayerStatistics
pluginA new synchronous and asynchronous client-side geometry engine is part of this release. There are over 30 different methods for performing operations that previously would have required a round-trip to a server. For more information on the these new modules, follow the previous links. Note: These features are currently in beta.
require([ "esri/geometry/Point", "esri/geometry/geometryEngine", "esri/SpatialReference" ], function (Point, geometryEngine, SpatialReference){ var pt1 = new Point(-118.15, 33.80, new SpatialReference({wkid: 4326})); var pt2 = new Point(-119.15, 32.80, new SpatialReference({wkid: 4326})); // Using Module to Union var union = geometryEngine.union([pt1, pt2]); console.log("geometryEngine.union: %o", union); });
The Search Widget supersedes the Geocoder Widget (now deprecated). It's been reimagined, renamed and redesigned to provide a single searching and suggestion experience. It allows you to search across multiple Locator and Feature Layer services from a simple interface.
The Search dijit was designed to handle multiple types of sources
including Locator tasks, Feature Layers and potentially others, whereas the Geocoder dijit is limited to only searching Locator tasks. You can customize the Search dijit to search or get suggestions from all defined sources or limit it to a single source. The user interface has been improved to handle searching one or more of these sources.
Much of the same functionality found in the Geocoder widget is also present in the Search widget, but many new features have been added and redesigned for a better user and developer experience. As a developer, it should be easier for you to configure the Search widget and involve writing less code to handle common searching tasks.
For more information, see the Working with the Search Widget topic and the Search Widget
API reference, in addition to these samples:
There are new ways to visualize and interact with image services on client side through two new layer classes: ArcGISImageServiceVectorLayer and RasterLayer.
ArcGISImageServiceVectorLayer displays image service pixel values with vector point symbols. The image services supported by this layer are two-band rasters that serve vector field data (as U-V or Magnitude-Direction). For more information, see the ArcGISImageServiceVectorLayer API reference and this sample.
RasterLayer is used to display image services. Upon creation, the layer retrieves image data from a specified image service and applies client side pixel filtering (e.g. mask, stretch, etc.). This layer is particularly useful when the user needs to interactively manipulate pixel values and get an immediate response. For more information, see the RasterLayer API reference and this sample.
useMyCurrentLocation()
method.
mapClickActive
property. This replaces the deprecated activate()
and deactivate()
methods.showActivateButton
allows for making the button visible or non-visible.map-click-active
event fires each time the button's state changes. This replaces the deprecated activate and deactivate events.The Analysis Widgets were released at version 3.12. See Working with Analysis Widgets for general information or the API Reference pages for the details.
<script>var dojoConfig = {locale: "el"};</script>
to any code sample to see it in Greek. <script>var dojoConfig = {locale: "tr"};</script>
to any code sample to see it in Turkish.StreamLayer
sample to support spatial filtering and Stream Service endpoint.ClassedColorSlider
ClassedSizeSlider
ColorInfoSlider
ColorPicker
HeatmapSlider
HorizontalSlider
OpacitySlider
RendererSlider
Search
SizeInfoSlider
SymbolStyler
esri/dijit/util/busyIndicator
VisibleScaleRangeSlider
esri/geometry/geometryEngine
esri/geometry/geometryEngineAsync
ArcGISImageServiceVectorLayer
PixelBlock
RasterLayer
FeatureLayerStatistics
esri/renderers/smartMapping
VectorFieldRenderer
esri/styles/basic
esri/styles/choropleth
esri/styles/heatmap
esri/styles/size
esri/styles/type
folderId
, folderName
on class AnalysisBase
mapClickActive
, showActivateButton
on class Directions
graphicsLayer
on class Geocoder
cache
on class Geometry
purgeInterval
on class StreamLayer
.on("activate")
, .on("deactivate")
, .on("map-click-active")
on class Directions
.on("visible-layers-change")
on class ArcGISDynamicMapServiceLayer
.on("purge-interval-change")
on class StreamLayer
useMyCurrentLocation()
on class Directions
startup()
on class Scalebar
getNode()
on object esri/domUtils
clearCache()
, getCacheValue()
, setCacheValue()
on class Geometry
getUnitValueForSR()
on object esri/geometry/scaleUtils
stripTags()
on object esri/lang
setPurgeInterval()
on class StreamLayer
Use the repository on GitHub for the JS API TypeScript definitions.
Version 3.13 of the ArcGIS API for JavaScript uses Dojo 1.10.4. dgrid version 0.3.17. put-selector version 0.3.6 and xstyle version 0.1.3 are also included.