ArcGIS for iOS 开发系列(7) – 基础篇-空间要素-几何形状
只是加载数据难免乏味,更多时候需要可交互,让用户控制地图的可视化效果,比如:地图上加标签、高亮显示查询到的街道、修改化学品污染区域的渲染样式等等,基本流程就像画画,先找张空白的纸,再把房子、花园、马路什么的用不同颜色画上去,纸就是图形图层(AGSGraphicLayer),房子等地物就是空间要素(AGSGraphic)。
图形图层(AGSGraphicLayer)之前已经介绍过,它是由客户端创建的动态图层,承载并管理其中的空间要素:
图3-3-1-1 几何形状的继承关系
AGSGeometry继承了AGSCoding,其中已经封装好Json解析方法,当需要和其他系统进行交互时,通过encodeToJSON和AGSJSONRepresentation方法把几何对象转成JSON字符串。
图3-3-1-2 AGSPoint主要属性和方法
在创建新点或要修改已有点时需要用AGSMutabelPoint声明,提供了updateWithX:y:方法或者offsetByX:y:修改点坐标。
图3-3-1-3 AGSMultiPoint主要属性和方法
在创建新多点或修改已有多点时需要用AGSMutabelMultiPoint声明,提供了添加和修改其中点的方法。
图3-3-1-4 AGSPolyLine主要属性和方法在创建新的线或修改已有线时需要用AGSMutabelPolyline声明,提供了添加和修改其中点的方法。
图3-3-1-5 AGSPolygon主要属性和方法
在创建新的面或修改已有面时需要用AGSMutabelPolygon声明,提供了添加和修改其中点的方法。
图3-3-1-6 AGSEnvelope主要属性和方法
AGSEnvelope env = [AGSEnvelope envelopeWithXmin:10 ymin:10 xmax:30 ymax:30 spatialReference:[AGSSpatialReference spatialReferenceWithWKID:4326 WKT:nil]];