What's new in 2.2
The 2.2 version of the ArcGIS API for Windows Phone is now available. This topic provides information on the changes between 2.2 and the previously released ArcGIS API for Windows Phone version 2.1.
This topic includes an introduction to the updates and enhancements included in 2.2, a complete list of changes, and also the issues resolved between the 2.1 release and 2.2.
Updates and enhancements
The following enhancements are included in 2.2:
- ArcGIS API for Windows Phone setup
- Wrap-around support in the map
- Improved ArcGIS Online integration
- New graphic shape types
- Editor enhancements: rotate, scale, and distinguish graphic and vertex moves
- A new GpsLayer
- Additional changes, including enhancements for reading FeatureLayers from ArcGIS JSON, addition of a credentials property for layers and tasks, retrieving table information, addition of a ScaleLine control, and the MapAutomationPeer class becoming public to enable custom navigation and animation solutions.
ArcGIS API for Windows Phone setup
At version 2.2, the ArcGIS API for Windows Phone is installed using an executable setup program. This places the dynamic-link libraries (DLLs) on the machine, as well as making them available from the Add Reference dialog box in Visual Studio.
Wrap-around support in the map
The Map control now supports continuous pan across the dateline when the spatial reference is geographic World Geodetic System 1984 ([WGS84] WKID: 4326), or Web Mercator (WKID: 102100). To enable, set the WrapAround property on the Map control to true. See the following:
<esri:Map WrapAround="True">
Tiled map services, feature layers, and graphics layers are supported. Dynamic map services that support a spatial reference defined as well-known text (WKT) are supported. This includes ArcGIS Server 10 REST services. See the following screen shot:
![]() |

Only one world frame can be in view at a time.
When the WrapAround mode for a Map control is true, map coordinates may be returned using absolute values outside real-world coordinates. Use the Geometry.NormalizeCentralMeridian method to normalize geometry to the correct coordinate space.

All tasks, except GeometryService, automatically normalize input geometry.
Improved ArcGIS Online integration
ArcGIS Online viewers now support the creation of Map Notes with pop-up definitions to store information in a web map. In addition, pop-ups can be configured to reference attribute metadata and additional media for features in feature services and layers within dynamic and tiled map services. The Document class in the ESRI.ArcGIS.Client.WebMap library for the ArcGIS API for Windows Phone has been enhanced with additional attached properties to access this information and create a Map control with pre-configured layer functionality (such as providing pop-up content in a data template for layers in tiled or dynamic map services).
Web maps hosted on a Mobile Content Server are now also supported. Set the ServerBaseUrl property on the Document class in the ESRI.ArcGIS.Client.WebMap library to a valid endpoint (for example, http://arcgismobile.esri.com/arcgis/mobile/content).
New graphic shape types
With version 2.2, new graphic shape types were added. The new shapes include arrow, triangle, circle, and ellipses. They are available for both Draw and Editor classes and can be used by specifying the applicable DrawMode. See the following screen shot:
![]() |
Editor enhancements: rotate, scale, and distinguish graphic and vertex moves
In addition to the new shape types, the Editor class now supports additional interactive graphic editing, including rotations and scaling. When editing vertices, set the RotateEnabled property on the Editor to true for interactive rotation. For scaling of a graphic, set the ScaleEnabled property to true. When changing the scale, it is common to want to maintain the aspect ratio of the graphic. Set another new property added to the Editor, MaintainAspectRatio, to true to maintain the aspect ratio. See the following screen shot:
![]() |
With 2.2, it is now possible to distinguish between moves to a graphic as a whole and edits to individual vertices when the EditVertices command is active. The new MoveEnabled property on the Editor class specifies if a geometry can be moved, while the EditVerticesEnabled property specifies if the individual vertices can be edited.
In addition, a new EditGeometry class is available for more fine-grained control when editing graphics. For example, to start editing a graphic, enable the EditGeometry class and pass a graphic instance to the StartEditing method. To change the symbology of a vertex, scale box, scale point, or rotate symbol, set the respective property on the EditGeometry class.
A new GpsLayer
A new layer type for working with location services has been added in the ESRI.ArcGIS.Client.Toolkit.DataSources assembly. The GpsLayer connects to the phone's location service, and displays the current location and accuracy on the map. By adding the layer to the map, the current location and the accuracy displays on the map: the layer handles starting the phone's location service. See the following:
<esri:Map x:Name="MyMap">
<esri:ArcGISTiledMapServiceLayer Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer" />
<esriToolkitDatasources:GpsLayer ID="gps" />
</esri:Map>
![]() |
Additional changes
A new method, FromJson, is available on the FeatureLayer, Renderer, and Symbol classes to create a native type from ArcGIS JSON. Likewise, a new method, ToJson, is available on Renderers and Symbols to generate ArcGIS JSON from native types.

Not all properties of native types can be converted to ArcGIS JSON.
GraphicsLayer has a new GraphicsSource property to support binding to a collection of graphics.
A new Credentials property is now available on layers and tasks that reference services that utilize an HTTP authentication scheme.
Table information is available for stand-alone tables hosted in ArcGIS dynamic and tiled map services (ArcGISDynamicMapServiceLayer and ArcGISTiledMapServiceLayer) through the Tables property on the layer.
The new ScaleLine control provides another option for interactively displaying the map scale. See the following screen shot:
![]() |
The MapAutomationPeer class is public to enable custom navigation and animation solutions.
A map control dragged from the toolbox and added to a design surface in Expression Blend is preconfigured to contain the World Street Map tiled map service from ArcGIS Online.

Since there are no Esri controls added to the Visual Studio toolbox when developing for Windows Phone, this behavior is only available in Expression Blend.

The map control only displays the contents at runtime.
Localization resources are available for messages and internal user interface (UI) text strings (text that cannot be modified via a control template). The following cultures are supported: Arabic (ar), German (de), Spanish (es), French (fr), Italian (it), Japanese (ja), Brazilian Portuguese (pt-BR), Russian (ru), and Simplified Chinese (zh-CN, zh-Hans).
Complete list of changes
For a complete list of changes in the API between versions 2.1 and 2.2, see the following assembly comparisons:
Resolved issues
The following issues are resolved in the 2.2 release:
- Panning a rotated map using a touch gesture results in an incorrect pan direction
- When DrawMode equals Polyline, and the first point is added by a tap, mouse move or hold and drag updates the first point
- Tiled map services display blurry when zooming and remain blurry once the zoom animation ends
- Bookmark: text displays behind the Clear button if the Tab key is pressed twice
- Renderer with SimpleLineSymbols of varying Style (Dash, Solid) is unable to render a feature when its attribute change causes a switch to another style
- FeatureLayer ObjectIDs property is ignored when OutFields is set to "*"
- Double-click the map with empty layer collection results in exception
- Map.ZoomTo() followed by Map.PanTo() leads to incorrect tile level calculation that causes application to hang
- Geoprocessor services that require proxy handler never respond even if their ProxyHandler is set
- Map with a single Web Map Service (WMS) layer generates incorrect GetMap url and fails to display
- Layers.GetFullExtent() ignores the spatial reference of the map
- ArcGISTiledMapserviceLayer randomly throws null reference exception
- Accessing a FeatureLayer with a DateTime field is slow
- Portions of features in a FeatureLayer from an ArcGIS Server feature service disappear at low zoom levels
- If editing attributes or geometry of a newly added feature and the service response is delayed, double entries for one graphic may be created
- EditVertices with graphic as CommandParameter does not complete when Editor.ContinuousMode=True
- MaximumValue for ClassBreakInfo in ClassBreaksRenderer is not applied correctly when rendering features in a graphics layer
- Appending parameters to URLs for layers and tasks may cause exceptions
- WMS services that support WKID=900913 and not 102100 or 3857 fail to render
- Using red color in UniqueValueRenderer in a FeatureService results in a blank fill
- DoNotLocateOnRestrictedElements property of RouteParameters is always set to false
- After panning, the Map.MouseEventArgs ScreenPoint property returns incorrect coordinates on the MouseClick event for the Map class
- Null reference exception when Summary is null in GeoRSS feed
- SpatialReference not set on GeoRssLayer and KmlLayer
- Web map: Provide information on which layers are basemap layers
- Web map: Provide layer information that did not get set as layer properties
- Clusterer doesn't clear the clusters on the map after invoking the layer's ClearGraphics() method
- Cluster graphic in a time-aware layer does not get updated when the map's TimeExtent is changed
- Cluster graphic when query result returns empty is not updated
- 'InitializationFailure' message in 'InitializationFailed' event of ArcGISDynamicMapServiceLayer object is empty
- Changing Layer.Visible property before Zoom animation is complete causes application to hang
- FeatureService SimpleLineSymbol with Dot LineStyle (esriSLSDot) does not show the symbol
- When drawing a polyline, if the first point is added by a Tap, MouseMove updates the first point
- WMSLayer fails to support Norwegian culture for a WMS service lower than version 1.3
- Visual Studio 2010: Dragging some Toolkit control onto the design surface returns a Component Object Model (COM) error
- Map.PropertyChanged Event is not raised for some Map properties
- ArcGISTiledMapServiceLayers added to the Map layer collection when the spatial reference does not match, and Map.Extent is set in the code-behind
- ArcGISTiledMapServiceLayer.MapName is missing
- EditVertices, when active, disables panning the map with single-touch
- Edit Vertices should call Simplify when the edit is completed
- MapService URL with a parameter throws a serialization exception
- Changes to Graphic.Attributes never cause the Graphic.PropertyChanged event to fire
- FeatureLayer doesn't fire PropertyChanged event when the renderer changes
- FeatureSet.ToJson throws an unsupported exception on null geometry
- ArcGISTiledMapserviceLayer randomly throws a null-reference exception
- EditVertices support for a Graphic with an Envelope geometry
- Removing vertex programmatically is not reflected when the EditVertices command is active
- Map.ExtentChanging ExtentEventArgs OldExtent Property is periodically incorrect
- LayerCollection doesn't work with Map.TimeExtent
- Legend control should not display tiled layers having a different projection as the first tiled layer
- Refreshed event is not fired for layers that do not implement ILegendSupport
- Layers should fire PropertyChanged event on property InitializationFailure when the initialization failed
- Legend control's LayerItemViewModel.LayerType is always null unless it's a Group layer
- Map does not rotate around its center when FlowDirection is RightToLeft
- GeometryType esriGeometryEnvelope throws an exception while retrieving a FeatureSet from a JSON string
- Cancel on BeginSaveEdits does not cancel save
- NullReference exception on FeatureLayer.Update() when layer is not yet initialized
- FeatureLayer with Mode=OnDemand Visible=False does not retrieve data from the service when Visible is changed to True at runtime
- Removed MapTip property from Graphic
Previous changes
For a complete list of what was updated in the prior version, see What's new in 2.1.