What was new in ArcGIS API for Flex 2.x
In this topic
- ArcGIS API for Flex 2.5
- ArcGIS API for Flex 2.4
- ArcGIS API for Flex 2.3.1
- ArcGIS API for Flex 2.3
- ArcGIS API for Flex 2.2
- ArcGIS API for Flex 2.1
- ArcGIS API for Flex 2.0
This topic refers to the 2.x versions (2010-2011). For 3.x, see What's New in ArcGIS API for Flex.
If you're upgrading an application from version 1.3 to 2.x, be sure to read Migrating from 1.3 to 2.0.
ArcGIS API for Flex 2.5
The following functionality, enhancements, changes, and bug fixes are new at version 2.5 which was released in November 2011:
Enhancements and changes
- Multipoint editing with Editor component
- Snapping to edges (not just nodes)
- Ability to turn on snapping programatically (without the user pressing the Ctrl-key)
- Enhancements for editing workflows: Map Service will automatically refresh when a matching feature layer in selection mode is edited
- AttachmentInspector supports tables
- Support hosted services on ArcGIS.com
- More spark support for Mobile development
- New WMTSLayerto support WMTS layers
- Improved for ArcGIS.com web maps: popups defined by reference are supported; popups are ignored when using ignorePopups for tiled and dynamic layers (earlier only feature layers were supported)
- Improved KML support
- Legend component listens to changes in map layers.
- Flare symbol for clusters shows actual symbol of the individual features.
- Improved scalebar for Arabic and other right-to-left (RTL) languages
- getLegendInfos() now looks for defaultSymbol on UniqueValue and Classbreak renderers
- Version 2.4 PopUp scrollbar bug [see forum post]
- Map images in KML layers placed correctly
- KML layer groundoverlays always underneath the features
- Markers with rotated symbols inside a CompositeSymbol can be selected
- ClassBreaks works correct for attributes with nulls and empty strings
- Sparkified default InfoSymbol.
ArcGIS API for Flex 2.4
The following functionality, enhancements, changes, and bug fixes are new at version 2.4 which was released in July 2011:
- KML Layer gives easy access to data in KML format.
- Support for four new locales have been added - Arabic, Brazilian Portuguese, Italian and Russian - to the existing six locales.
- Two mobile samples included in download that shows example of Flex Mobile Projects that can be deployed on Apple iOS (iPad, iPhone), Google Android and BlackBerry Playbook.
- New sample for WMTS.
Enhancements and changes
- Better mobile/touch support
- Improved support for Adobe Flex 4.5 SDK. Works well when creating Flex Mobile applications. The mx.swc is no longer required.
- Improved pinch: interactive resizing when zooming in or zooming out using two fingers.
- Cluster symbols can be modified based on the number of features in the cluster.
- Five new properties added to FlareSymbol: backgroundAlphas, backgroundColors, fractionDigits, sizes and weights.
- Five new properties added to SimpleClusterSymbol: alphas, colors, fractionDigits, sizes and weights.
- New property added to WeightedClusterer: center.
- Supporting WMS Layers in WebMapUtil.
- Two new properties added to WMSLayer: maxImageWidth and maxImageHeight.
- Four more existing properties of WMSLayer are writable: abstract, initialExtent, layerInfos and title.
- Pan cursor not displayed if the machine doesn't support a cursor.
- InfoWindow fires an OPEN event when opened.
- Navigation component has been updated to use spark SliderBase instead of mx:Slider as the "slider" skin part. If you are using a custom navigation skin, it will need to be updated.
- The convertToJSON() and convertFromJSON() methods on FeatureSet are being deprecated. Instead use the new toJSON() and fromJSON() methods.
- Attachment sizes are calculated based on 1,024 bytes in a kilobyte. [NIM070101 - AttchmentInspector shows incorrect size of the attachment]
- Dates in AttributeInspector can be typed (in addition to using the DatePicker).
- Setting dates to null in AttributeInspector works. [NIM070754 - The date field cannot be set to null after choosing a date from the Date Picker]
- Deleting features doesn't send duplicate delete request. [NIM070636 - 2 requests are created for delete operation in Editor sample]
ArcGIS API for Flex 2.3.1
The following enhancements, changes, and bug fixes are new at version 2.3.1 which was released in April 2011:
Enhancements and changes
- No classes or properties were added in this release.
- WebMapUtil does not create layers for map note layers that do not contain features.
- Adding vertices to lines and polygons in projections other than geographic and Web Mercator works as in 2.2 and earlier. This did not work properly in the 2.3 release.
- Snapping works for all projections. In version 2.3, snapping only worked with Web Mercator and geographic projections.
ArcGIS API for Flex 2.3
The following functionality, enhancements, changes, and bug fixes are new at version 2.3 which was released in April 2011:
- Continuous pan across dateline using the Map.wrapAround180 property.
- Snapping while drawing and editing features. Press and hold the Ctrl key to activate snapping. The snapping distance can be set with the snapDistance property on the DrawTool and EditTool. The default is 15 pixels.
- Support for ArcGIS.com, including configurable pop-up windows .
- The Editor.addEnabled property allows you to specify whether or not users can add features when editing.
- The Editor.updateAttributesEnabled property allows you to specify whether or not users can update attributes when editing.
- The Editor.updateGeometryEnabled property allows you to specify whether or not users can update geometries when editing.
- Field-specific ToolTips can be specified in AttributeInspector using the FieldInspector.toolTip property.
- Touch gesture functionality can be turned off using the Map.multiTouchEnabled property. If it's set to false, the pinch-to-zoom and two-finger-tap gestures are disabled.
- The Layer.loadFault property lets you know if a layer has tried to load but failed.
- The zoomToInitialExtent method and initialExtent property in the Map class allow you to easily zoom to the initial extent of the map.
- The multiTouchEnabled property allows you to turn off multi-touch gestures.
- The ignorePopUps property allows you to turn off the import of pop-up windows when creating a map from an ArcGIS.com web map.
- Use the defaultDrawSize property to change the default draw size for rectangles, circles, and ellipses.
- GeometryUtil is a new utility class that allows for more client-side geometry processing.
- Fifteen new classes: FeatureLayerTask, GeometryServiceSingleton, GeometryUtil, InfoComponent, InfoSymbolWindow, InfoSymbolWindowSkin, InfoWindowSkin, LabelDataRenderer, PopUpFieldInfoFormat, PopUpFieldInfo, PopUpInfo, PopUpMediaInfo, PopUpRenderer, PopUpRendererSkin, and StringUtil.
Enhancements and changes
- InfoWindow has been rewritten using Spark and moved from the components package to the com.esri.ags.components.supportClasses package. It has its own skin, and it's easier to create your own skins for InfoWindow.
- Faster zoom performance when the map contains lots of visible dynamic or graphic layers.
- Two more detailed levels for Microsoft Bing Maps with scales of 1:564 and 1:282.
- The SpatialReference property on WMSLayer.spatialReference can be set (it's no longer read-only). [Ref: forum post]
- Scaling of "extent" graphics. [Ref: forum post]
- The Editor remembers the last used geometry tool.
- The Editor component supports both polygons and polylines in the same cut operation. [Ref: forum post]
- The zoomToFullExtent method in the NavigationTool class has been deprecated. Use the new method in the Map class, zoomToInitialExtent, instead.
- Use name of layers (if available) in the TemplatePicker.
- The RouteTask checks and handles "null" in compressed geometry.
- Annotation layers work with the Legend component. [Ref: forum post]
- Better error handling for invalid URLs in the Legend and TemplatePicker components.
- Not setting mosaic rules for a .NET ImageServiceLayer highlighted server bug. Workaround is in place in the 2.3 Flex API.
For a more visual introduction, see the What's New in ArcGIS API for Flex Technical Workshop video from the 2011 Developer Summit.
ArcGIS API for Flex 2.2
The following functionality, enhancements, changes, and bug fixes are new at version 2.2 which was released in December 2010:
- The Legend component allows you to easily create a legend for the layers in the map.
- Support for arcgis.com Web Maps: WebMapUtil and WebMapEvent.
- Undo/redo support while editing with the Editor component.
- The Total query count property is available when using ArcGIS Server 10.0 Service Pack 1.
- A version property for ArcGISImageServiceLayer, ArcGISTiledMapServiceLayer, ArcGISDynamicMapServiceLayer, LayerDetails, and TableDetails.
- The useMapTime property adds the option for turning off time awareness of a FeatureLayer, ArcGISDynamicMapServiceLayer, or ArcGISImageServiceLayer. This is convenient when the map is time aware, but only certain layers should be time aware.
- The minScale and maxScale properties were added to LayerInfo.
- The excludeDataAtTrailingThumb and excludeDataAtLeadingThumb properties were added to TimeSlider.
Enhancements and changes
- Do not reuse the last image when service is turned back on and the sublayers have changed. [Ref: forum post]
- Setting attributes to null when editing are sent to the server. [Ref: forum post]
- Zoom to tall extents on tall maps works. [Ref: forum post]
- Map and Navigation handle null levels of detail (LOD) better, improving support for toggling between dynamic and tiled maps. [Ref: forum post]
- Time-aware feature layers with both start time and end time fields filter the features correctly according to the map's timeExtent. [Ref: forum post]
- QueryTask.executeRelationshipQuery() returns fields or fieldAliases on the returned FeatureSets.
ArcGIS API for Flex 2.1
The following functionality and changes are new at version 2.1 which was released in September 2010:
- New classes:
- WMSLayer and WMSLayerInfo support WMS layers. Both classes work with 1.1.0, 1.1.1, and 1.3.0 WMS servers.
- WebMercatorExtent and WebMercatorMapPoint make it easier to specify latlong-based extents and points for use with Web Mercator maps.
- TextField handles long string attribute values in the AttributeInspector component.
- New method:
- BaseTask.sendURLVariables() supports extending BaseTask.
- New properties:
- The Method property on BaseTask forces requests to use POST.
- Support for drawing circles and ellipses with DrawTool, including two new constants: DrawTool.CIRCLE and DrawTool.ELLIPSE.
- Support for rotating and scaling features, including two new EditTool constants (EditTool.ROTATE and EditTool.SCALE), six new events for the EditTool (graphicRotate, graphicRotateStart, graphicRotateStop, graphicScale, graphicScaleStart, and graphicScaleStop) and their matching EditEvent constants (EditEvent.GRAPHIC_ROTATE, EditEvent.GRAPHIC_ROTATE_START, EditEvent.GRAPHIC_ROTATE_STOP, EditEvent.GRAPHIC_SCALE, EditEvent.GRAPHIC_SCALE_START, and EditEvent.GRAPHIC_SCALE_STOP).
- Support for new MapMouseDown event on Map, including a new constant: MapMouseEvent.MAP_MOUSE_DOWN.
- doNotLocateOnRestrictedElements on ClosestFacilityParameters and ServiceAreaParameters.
- minValue and maxValue on DoubleField handle double precision attribute values in the AttributeInspector component.
- deleteEnabled on AttachmentInspector component and Editor component.
- Colors can be specified as VGA color names in addition to hexadecimal formats. The available color names are Aqua, Black, Blue, Fuchsia, Gray, Green, Lime, Maroon, Navy, Olive, Purple, Red, Silver, Teal, White, and Yellow. You can use these VGA color name formats in both style sheet definitions and inline style declarations. The VGA color names are not case sensitive. In the Flex API, this applies to SimpleFillSymbol.color, SimpleMarkerSymbol.color, LineSymbol.color, TextSymbol.color, SimpleClusterSymbol.color, TimeClassBreakInfo.color, and FeatureLayer.selectionColor.
- Improved support for touch events to make it easier to use on Android phones and other touch-enabled devices that support Flash Player 10 or above. The Flex API supports drag to pan, double tap to zoom in, pinch open to zoom in, pinch close to zoom out, and two-finger tap to zoom out. (The latter three only work with Flash Player 10.1 or above.)
- Bing requests use Microsoft's new REST API. The postalTown property in the VEAddress class as well as the calculationMethod and matchCodes properties in the VEGeocodeResult class have all been deprecated since Microsoft no longer returns them.
ArcGIS API for Flex 2.0
For incremental changes between different 2.0 beta versions, see the detailed beta change log. Version 2 of the API is based on the Adobe Flex 4 SDK, which requires end users to use Flash Player 10 or later. See system requirements for more details. The API version 2.0 has been greatly expanded from version 1.3 with new functionality and components, for example, 101 new classes and 62 new events. Following is a brief summary of new features in version 2.0 of the ArcGIS API for Flex which was released in June 2010:
FeatureLayer is a new type of client-side operational layer that can be created and added to a map. FeatureLayer extends GraphicLayer and works against an individual layer or table in a MapService or FeatureService.
Feature layers support the following out-of-the-box functionality:
- Selections—Select features interactively or by attributes. Selections are visualized using the selection color. You can create a new selection, add to the current selection, or remove from the current selection using attribute or geometry queries. Interactive selection is done by mapClick or any of the DrawTool options for creating a geometry to query.
- Editing—When working with an editable layer in a Feature Service, you can add, modify, or delete features including their related attachments.
- DefinitionExpression—Limit features to a subset of the full underlying layer.
- Query—Instead of populating a graphics layer with results from a query, you can use a FeatureLayer.
- Query related tables—Take advantage of built-in support for relations between layers and tables.
For more information, see Feature layers.
Editing using FeatureLayer and ArcGIS Server (requires ArcGIS Server 10.0 and SDE)
At 10.0, a new service, FeatureService, was added to support template-style editing. Several components have been added to support editing including the Editor component, a configurable out-of-the-box editing solution.
Additional classes that support editing are as follows:
- Attribute Inspector component—Supports editing of attributes of selected features from a feature layer. Honors domains and subtypes as defined by the service.
- EditTool—Supports moving graphics and editing vertices.
- DrawTool—Supports creating new features.
- TemplatePicker component—Displays a gallery of feature templates.
- AttachmentInspector component—Helps in uploading and viewing a list of feature attachments.
For more information, see Editing.
Support has been added for time-aware layers and a new TimeSlider component. You can query or display time-aware layers using a particular slice of time. The TimeSlider provides an easy way to visualize temporal data. For more information, see Time-aware layers.
The API has built-in support for six languages: Chinese, English, French, German, Japanese, and Spanish. For more information, see Localization.
- Bing Maps (formerly Microsoft Virtual Earth) authentication uses a "key" property instead of token, client, and server. There is no longer any need for the Virtual Earth Token page.
- The Bing Maps environment property has been removed, since Microsoft no longer supports a staging environment.
- Twelve new operations were added to the GeometryService: Autocomplete, Convex Hull, Cut, Densify, Difference, Distance, Generalize, Intersect, Offset, Reshape, Trim/Extend, and Union.
- The Lengths operation supports units and geodesic distances.
- The Areas and Lengths operation supports lengthUnit, areaUnit, and geodesic parameters.
- Query enhancements to query for all IDs, which can then be used to include paging in applications.
- Query performance has been improved by adding support for faster JSON and by using AMF (see the AMF section below).
- Support for stand-alone tables.
- Ability to expose and query relationships.
- The identify and find operations support layer definitions.
- A new event, isInScaleRangeChange in the Layer class, is fired when the layer's isInScaleRange property changes.
AMF (ActionScript Message Format) has been added in ArcGIS Server 10.0 for faster queries. AMF is currently supported on FeatureLayer, QueryTask, and Geoprocessor. To connect to a 9.3 server QueryTask or Geoprocessor, you need to set the useAMF property to false.
Locator supports outSpatialReference when connecting to ArcGIS Server 10.0 and above.
Network Analyst updates
- Closest Facility—Functionality includes the ClosestFacilityTask, a ClosestFacilityEvent, some input parameters, and the result.
- Service Area—Functionality includes the ServiceAreaTask, a ServiceAreaEvent, some input parameters, and the result.
- Routing supports attributeParameterValues, polylineBarriers, and polygonBarriers.
Flex 4 and Flash Builder 4 related updates
- The API reference is now available in Flash Builder, both as ToolTips and on the ASDoc tab.
- The Adobe Flex 4 SDK is required for API development, which means that Adobe Flash Player 10 or above is the required version for browser applications.
- TextSymbol uses Flash Player 10 Text Engine, which means that alpha and angle also work for non-embedded (device) fonts.