注:本文翻译自:
https://developers.arcgis.com/ios/objective-c/guide/tiled-map-service-layer.htm
ArcGIS 切片地图服务图层显示来自ArcGIS Server 地图服务中已经被缓存过的地图内容。缓存地图服务包含了预产生的地图切片。这些切片的数量和内容,是由基于服务的切片机制和地图文档来定义的。其中切片机制定义了诸如切片尺寸、图像格式和缩放级别等参数。当你导航地图的时候,图层就会获取新的切片用来展示。
不像动态图层,切片的空间参考系必须和地图的空间参考系相匹配。这点是必要的,因为切片图层所展示的地图切片是先前预生成的,所以无法通过重投影来匹配不同的空间参考系。
要实例化AGSTiledMapServiceLayer,你需提供一个URL给地图服务的REST web服务端点。你应通过检查在服务目录中的Single Fused Map Cache属性是否设置为true来保证服务确实被缓存过。AGSTiledMapServiceLayer在地图服务没有缓存的情况下是无法工作的。
NSURL* url = [NSURL URLWithString: @"http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer"];
AGSTiledMapServiceLayer* layer = [AGSTiledMapServiceLayer tiledMapServiceLayerWithURL: url];
创建完图层后,你可以将其添加到地图中去展示它的内容。当图层准备就绪后,它所加载的属性也将启用,你就可以安全的访问这些属性了。
if(layer.loaded){
NSLog(@"Tiling Scheme: %@", layer.tileInfo);
}
不像ArcGIS 动态地图服务图层,你不可以改变图层的属性来改变地图内容。