在上篇文章里, 我们进行了如何添加并显示一个已做好地图切片的地图服务的操作,认识了ArcGIS API for iOS的地图组件——MapView。同ArcGIS其他地图API类似,地图组件是ArcGIS API for iOS的核心组件。对MapView来说,不仅可显示切片地图服务,还可加载ArcGIS Server发布的动态图层; 此外,OGC标准的WMS服务及矢量数据同样可以进行显示。
在[地理信息共享]专题中,我们了解,很多基础的应用只需在公共空间信息服务基础之上叠加业务数据。本文将主要介绍MapView中基础地图数据(切片地图服务)叠加业务数据动态地图服务的步骤。
1、 同[ArcGIS API for iOS]Hello,Map中①②步骤一样,新建一个ArcGIS Mapping Application,在此,将该工程命名为FirstMap。
2、 打开FirstMapViewController.h文件,定义切片地图服务及动态地图服务。同[ArcGIS API for iOS]Hello,Map中一致,只需在切片地图服务定义后面添加动态地图服务的定义即可。
- //定义动态地图服务URL地址 美国人口普查的数据服务
- #define kDynamicMapServiceURL
- @http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI Census USA/MapServer
3、打开FirstMapViewController.m文件,在viewDidLoad函数中将动态服务添加到mapView中,在[ArcGIS API for iOS]Hello,Map添加切片服务代码后添加如下代码:
- //创建AGSDynamicMapServiceLayer dynamicLayer
- AGSDynamicMapServiceLayer *dynamicLayer = [[AGSDynamicMapServiceLayeralloc] initWithURL:[NSURLURLWithString:kDynamicMapServiceURL]];
- //将dynamicLayer加载至mapView中
- [self.mapView addMapLayer:dynamicLayerwithName: ”dynamic Layer”];
4、此外,需要对引用计数进行释放。
- [dynamicLayer release];
5、进行编译,运行。效果如图所示