What's new in version 2.1
New Features
- Support for viewing map content from tile packages (*.tpk files) on the device. Now you can take your maps out into the field where there is no or limited network connectivity and still view them. Refer to ArcGIS Local Tiled Layer for more information.
- New GPS auto pan modes for Navigation and Compass Navigation. These modes provide a convenient way to animate the map as you drive or walk around.
- Support for map rotation. For more information, refer to the rotationAngle property on AGSMapView in the API reference documentation.
- Support for HTTPS connections using self-signed certificates.
- Flexible callout leader line positioning. Previously, the callout only used to be shown above the feature, but now it can be shown above, below, or to the sides of the feature. For more information, refer to the leaderPositionFlags property on AGSCallout in the API reference documentation.
- Improved quality of rendering tiled and dynamic layers on devices with retina display. For more information, refer to the renderNativeResolution property of the layer in the API reference documentation.
- Ability to restrict map's bounds to the basemap layer's full envelope. For more information, refer to the maxEnvelope property on AGSMapView in the API reference documentation.
- Convenient methods to directly zoom to a specific map scale or resolution. For more information, refer to zoomToScale:withCenterPoint:animated: and zoomToResolution:withCenterPoint:animated: methods on AGSMapView in the API reference documentation.
Note:
The ArcGIS specific Xcode project templates are no longer available. This is because 3rd party project templates are not officially supported by Xcode. Refer to the Configure a new project topic for information on how to setup your project.
Migrating existing applications from v2.0
Migrating existing applications and projects to use the new API is relatively easy and straight-forward. Where possible, the new API is backwards-compatible and maintains the existing behavior.
XCode Project Changes
- Security.framework needs to be added to any existing project's frameworks.
- libz.dylib needs to be added to any existing project's frameworks.
API Semantics Changes
- The angle property on AGSSimpleMarkerSymbol, AGSPictureMarkerSymbol, AGSPictureFillSymbol, and AGSTextSymbol now rotates the symbol in counter-clockwise direction. Previously it used to be clockwise.
API Syntax Changes
- The JSONUtility class has been renamed to AGSJSONUtility
- The Base64 class has been renamed to AGSBase64
- The methods createFeatureWithType: and createFeatureWithTemplate: on AGSFeatureLayer have been renamed to featureWithType: and featureWithTemplate: to be consistent with objective-c naming conventions for methods that return an auto-released object.
- The method didFailToLoadLayer:withError: on AGSWebMapDelegate has been deprecated and replaced with didFailToLoadLayer:url:baseLayer:withError:. Please update your delegate to implement this new method instead. The new method provides additional information such as the URL of the layer that failed to load, and whether it was a basemap layer.
- The method mapView:failedLoadingLayerForLayerView:withError: on AGSMapViewLayerDelegate has been deprecated and replaced with mapView:failedLoadingLayerForLayerView:baseLayer:withError:. Please update your delegate to implement this new method instead. The new method provides information about whether the layer that failed to load was also the basemap layer, in which case the map will be in a suspended state waiting for the basemap layer to be resubmitted, removed, or replaced.
- The envelope property on AGSMapView has been deprecated and replaced by visibleArea to take into account map rotation.
- The customActionButton property on AGSPopupsContainerViewController has been deprecated and replaced by actionButton.
- The API classes, categories, category methods, and header files of the json-framework library included with the ArcGIS library have been namespaced with an "AGS" prefix to prevent conflicts that may arise if additional libraries in your project also bundle json-framework. For example -
- The category method JSONValue on NSString has been renamed to AGSJSONValue
- The category method JSONRepresentation on NSObject has been renamed to AGSJSONRepresentation
- The SBJSonParser class has been renamed to AGSSBJsonParser
5/9/2012