What's new in version 1.8
New Features
- Support for XCode 4.
- A Sketch Layer to easily create and edit geometries.
- A high-performance, native, Geometry Engine to perform sophisticated geometric operations locally on the device. See the API reference of AGSGeometryEngine for more information.
- A Temporal Renderer to symbolize time-aware layers.
- Improved support for Image Services with the ability to specify interpolation method, rendering rule, and mosaicing rule for Image Service Layers.
- Support for web maps.
- A Route Task to generate point-to-point routes and driving directions using Network Analyst services.
- A Service Area Taskto compute service areas using Network Analyst services.
- A Closest Facility Task to find the nearest facility to a given incident using Network Analyst services.
- Support for symbolizing graphics using Text Symbols and Picture Fill Symbols.
- A magnifier for the map. To display the magnifier, enable the showMagnifierOnTapAndHold property on AGSMapView, and then tap and hold on the map.
- Support for map to wrap around the dateline.
- Support for retrieving legend information.
- Enhanced callout customization, including the ability to display custom views in the callout.
Migrating existing applications...
Migrating existing applications and projects to use the new API is relatively easy and straight-forward. Great attention has been given to preserving backward-compatibility and maintaining existing behavior where possible.
...From version 1.0
This section provide a comprehensive list of changes that have been made since version 1.0 of the API. Refer to this section if you are migrating your application from v1.0 to v1.8 Final.
XCode Project Changes
- CoreText needs to be added to the project's Frameworks. This library is required because the API has added support for TextSymbols with international languages. Eventhough CoreText is only available on iOS 4.0 and later, you can still target devices running an older iOS version (as long as they meet the Device Requirements), in which case, the library won't be used at runtime. Note, this means that you will not be able to display TextSymbols with international languages on older iOS versions.
- libstdc++.dylib needs to be added to the project's Frameworks. This library is required because the API now includes a native Geometry Engine. You may encounter the following build errors without this library: Build errors without libstdc++.dylib project reference
- API resources such as images for the esri and bing logo, GPS location, etc have been consolidated into an ArcGIS.bundle. This bundle is installed under ${HOME}/Library/SDKs/ArcGIS/iOS.sdk/user/local/resources. It is automatically referenced by new projects created using the ArcGIS project templates. To use custom images instead of the ones provided with bundle, add the custom images to your project making sure they have the same name as the images in the bundle. Images in your project will take precedence over those in the bundle.
API Changes
- Property yOffset and the y-coordinate value of the property hotspot on AGSPictureMarkerSymbol and AGSMarkerSymbol are now interpreted based on a Cartesian coordinate system. This is reverse of what it was previously. For example, a value of -5 would previously be interpreted as "above by 5 units", but now it is interpreted as "below by 5 units". To accommodate this change, you only need to reverse the sign of the y-coordinate value. X-coordinate values are interpreted as before. A value of -5 is interpreted as "left by 5 units".
- Enum AGSQuerySpatialRelationship has been renamed to AGSSpatialRelationship
- Enum value AGSAuthenticationTypeBasic has been renamed to AGSAuthenticationTypeHTTP
- Property mapViewDelegate on AGSMapView has been deprecated. The delegate methods have been split between layerDelegate, touchDelegate, and calloutDelegate properties on AGSMapView. You should use these delegates instead.
- Property classBreaks on AGSClassBreaksRenderer has been changed from type NSMutableArray to NSArray.
...From version 1.8 Beta
This section outlines only those changes that have been made since v1.8 Beta. Refer to this section if you have already migrated your application to v1.8 Beta and now need to migrate to v1.8 Final.
XCode Project Changes
- CoreText needs to be added to the project's Frameworks. This library is required because the API has added support for TextSymbols with international languages. Eventhough CoreText is only available on iOS 4.0 and later, you can still target devices running an older iOS version (as long as they meet the Device Requirements), in which case, the library won't be used at runtime. Note, this means that you will not be able to display TextSymbols with international languages on older iOS versions.
API Changes
- Property yOffset and the y-coordinate value of the property hotspot on AGSPictureMarkerSymbol and AGSMarkerSymbol are now interpreted based on a Cartesian coordinate system. This is reverse of what it was previously. For example, a value of -5 would previously be interpreted as "above by 5 units", but now it is interpreted as "below by 5 units". To accommodate this change, you only need to reverse the sign of the y-coordinate value. X-coordinate values are interpreted as before. A value of -5 is interpreted as "left by 5 units".
5/9/2012