ArcGIS for iOS 开发系列(4) – 基础篇-地图组件

本文档介绍了ArcGIS for iOS中的地图组件,包括加载图层、图层控制、显示范围、手势操作、图例展示以及经向环绕和时态展示等功能。地图组件的焦点在于AGSMapView类,它提供了接口来叠加不同空间数据并进行交互。支持的图层类型包括切片地图服务图层、动态地图服务图层等。开发者可以通过控制图层的可见性、透明度和显示范围来定制地图的展示效果。此外,文章还讨论了如何实现地图的手势操作和图例信息的获取,以及如何处理经向环绕和时态数据的展示。
摘要由CSDN通过智能技术生成

    在“Hello World Map”里我们已经成功加载了地图,以前没接触过GIS的同学先得补一补功课,起码要了解空间对象和数据模型的基本概念。常见的地图服务,其背后都有一个地图文档(*.mxd或*.msd),文档中有很多页(图层Layer),每页上又有许多空间要素(点、线、面)可能对应了现实世界中的水井、道路、绿地等等,同时地图文档中还保存了可见性、符号化、比例尺等很多配置信息,用于控制地图的最终呈现效果。    

    地图组件MapView是地图最基本的容器,负责地图展示和用户交互,因此AGSMapView也是最重要的类,它提供了一系列接口帮助开发者轻松叠加不同的空间数据、漫游地图、显示信息等等。

1. 加载图层

    “Hello World Map”示例中叠加了两个图层,分别是基础底图图层(切片地图服务)和人口分布地图图层(动态地图服务),添加的方法很简单,其中Name参数是Layer的唯一标示,不能重名:

//按+1顺序添加图层
[self.mapView addMapLayer:tiledLyrwithName:@"TiledLayer"];
//按指定顺序插入图层
[self.mapView insertMapLayer:tiledLyrwithName:@"TiledLayer0" atIndex: 0];
//按名称删除指定图层
[self.mapViewremoveMapLayerwithName:@"TiledLayer"];

    看得出来,MapView中图层绘制的顺序是自下而上,第一个加载的图层意义比较特殊,常称为BaseMapLayer,它将初始化整个地图容器的空间参考(Spatial reference)、初始范围(Initial extent)和全图范围(Full extent),这很关键,因为如果接下来添加的图层空间参考不同,该图层就显示不出来(动态图层除外,可以重投影),那怎么知道是否加载成功?需要引用一个重要的协议:AGSMapLayerDelegate,图层消息委托,会在下一节中详细介绍。

    目前支持的图层类型包括了:

·         切片地图服务图层(AGSTiledMapServiceLayer)

·         动态地图服务图层(AGSDynamicMapServiceLayer)

·         影像服务图层(AGSImageServiceLayer)

·         要素服务图层(AGSFeatureLayer)

·         微软Bing服务图层(AGSBingMapLayer)

·         OSM服务图层(AGSOpenStreetMapLayer)

·         WMS服务图层(AGSWMSLayer)

·         离线切片服务图层(AGSLocalTiledLayer)

·         自定义切片服务图层(OfflineTiledLayer)

·         图形图层(AGSGraphicLayer)

·         草图绘制图层(AGSSketchLayer)

    这里先了解一下ArcGIS for iOS支持的图层类型,具体都干嘛使的,下一章再详细介绍;此外还有一种新型的智能地图类型:WebMap,也会单独介绍。

2. 图层控制

    地图每添加一个图层,</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值