2 符号渲染
几何形状是地图的骨架,最后成图还需要制图,制图是另一个庞大的话题,这里不做展开,直接来介绍符号和渲染。符号面向的是空间要素,定义了点、线、面要素的颜色、透明度、边框大小等信息,而渲染面向的是图层,定义了整个图层的符号样式,其中的要素按照指定规则批量套用符号。
2.1 符号
符号(AGSSymbol)从形式上可以分为单一符号、文字符号和复合符号,下面来一一介绍。
2.1.1 点状符号
单一标记型符号(AGSSimpleMarkerSymbol),可设置其填充颜色、外边框、大小等。
图3-3-2-1 AGSSimpleMarkerSymbol主要属性和方法
默认提供了以下单一标记型符号样式(AGSSimpleMarkerSymbolStyle):圆(Circle)、十字(Cross)、菱形(Diamond)、方形(Square)和X型。
AGSSimpleMarkerSymbol* myMarkerSymbol = [AGSSimpleMarkerSymbol simpleMarkerSymbol]; myMarkerSymbol.color = [UIColor blueColor]; myMarkerSymbol.style = AGSSimpleMarkerSymbolStyleDiamond; myMarkerSymbol.outline.color = [UIColor whiteColor]; myMarkerSymbol.outline.width = 3;
图片型符号(AGSPictureMarkerSymbol),则是用给定的图片来填充,可以设置其大小、旋转角度、偏移量等。
图3-3-2-2 AGSPictureMarkerSymbol主要属性和方法
默认情况下“图片压在点上”,即点坐标对应的是图片符号的像素中心点,如果使用指向型图标(如图钉、气泡等),需要设置合适的像素偏移量(xoffset/yoffset)。
AGSSimplePictureSymbol* myPictureSymbol = [AGSSimplePictureSymbol picMarkerSymbolWithImageNamed:@”myPic.png”]; //向右上方偏移5个像素 myPictureSymbol.xoffset = 5; myPictureSymbol.xoffset = 5;
2.1.2 线状符号
单一线型符号(AGSSimpleLineSymbol),修改颜色、宽度和样式,其中样式默认包括:线间隔(Dash)、点间隔(Dot)、线点交替间隔(DashDot)、无间隔(Solid)等。
图3-3-2-3 AGSSimpleLineSymbol主要属性和方法
AGSSimpleFillSymbol* myFillSymbol = [AGSSimpleFillSymbol simpleFillSymbol]; myFillSymbol.color = [UIColor colorWithRed:0.7 green:0.1 blue:0.1 alpha:0.5]; //线的边框还是“线” AGSSimpleLineSymbol* myOutlineSymbol = [AGSSimpleLineSymbol simpleLineSymbol]; myOutlineSymbol.color = [UIColor redColor]; myOutlineSymbol.width