Hide Table of Contents
What's new in Version 3.4

Directions widget

Allow users to calculate driving directions between two or more locations to your app with only a couple of lines of code. The widget defaults to the ArcGIS Online Route Service but can be customized to use any ArcGIS Server Network Analyst routing service. The widget not only takes care of talking to a routing service, but also builds a default user interface:

Check out samples that use the directions widget.

Map navigation methods return deferreds

Map navigation methods, such as setExtent and centerAt, return Deferreds. In previous releases map navigation methods did not return a value. Using deferreds makes it easier (requires less code) to be sure that a map navigation method has finished before executing additonal code.

Support for proxies on a per-service basis

Use esri.addProxyRule to specify a proxy to use on a per-service or per-resource basis.

Popup enhancements

The popup widget is now the default info window for the map. Most ArcGIS API for JavaScript users prefer the popup's look and feel and, after some refactoring some internal dependencies, using the popup as the default makes sense. Additional changes to the popup include: easier to place the popup in a container outside the map, better support for right-to-left content and several new config options to control paging controls and how features are highlighted.

Symbol enhancements

Several new features for various symbol types:

  • SimpleMarkerSymbol.setPath to create a marker symbol from a single SVG path
  • SimpleLineSymbol supports addiational dash types
  • PictureMarkerSymbol can use an SVG document as well as base64 strings as a data URI

ArcGIS Online

Support for the latest ArcGIS Online webmap features and enhancements to the Portal API classes:

  • New getLegendLayers method in esri.arcgis.utils to easily createa legend for a webmap.
  • PortalUser.getItem to get an item.
  • Support for the following webmap features: GeoRSS, web tiled, multiple basemaps, WMTS and ability to change renderer on dynamic layers.

Asynchronous Module Definition(AMD)

All modules in the API are AMD compliant at 3.4. All modules are still compatible with dojo.require and no code changes are required when upgrading to 3.4. Additional documentation will be published outlining how to use the API's modules in an AMD style.

Additional functionality

  • Support for Internet Explorer 10 and its touch event model. When using X-UA-Compatible to target specific versions of IE, be sure to include IE10. For instance: <meta http-equiv="X-UA-Compatible" content="IE=7, IE=9, IE=10"> or <meta http-equiv="X-UA-Compatible" content="IE=edge">.
  • Support for touch in Firefox and Chrome on Windows 8.
  • Overview map widget supports web tiled layers.
  • Scalebar widget support a new "dual" mode which displays both miles and kilometers.
  • New register token method on the Identity Manager to allow developers to inject OAuth access token into applications.
  • Builds of the API now have dojo-undef-api enabled.

New samples

Enhancements and bug fixes

  • NIM088170: update editor widget to accommodate changes to made to dijit/MenuItem at Dojo 1.8
  • NIM089890: MapImageLayer does not work unless map.loaded is true
  • NIM090026: map.onLoad doesn't fire when using basemap: "OSM"
  • NIM090027: GeoRSSLayer.visible should be a boolean, not a number
  • NIM090028: unable to add features to a feature layer created from a feature collection when featureLayer.visible is false
  • NIM090029: WebTiledLayer urlTemplate substitution place holders can be {...} or ${...}
  • NIM090030: prevent adding multiple layers with the same ID
  • NIM090031: drawToolbar.onDrawComplete event object should have a geographicGeometry property
  • NIM090032: add toJson() method to the TileInfo class
  • NIM090033: display additional attribution for street and ocean basemaps

Dojo

Version 3.4 of the ArcGIS API for JavaScript uses Dojo 1.8.3. Version 0.3.4 of dgrid is also bundled with version 3.4 of the ArcGIS API for JavaScript as well as version 0.3.1 of put-selector and 0.0.5 of xstyle.