湖北省建设厅信息网站,网站怎么注册,代理什么产品好做挣钱,深圳龙华区民治街道一、用Symbol对要素进行符号化
首先我们看一下Symbol 接口关系#xff1a; 1、SimpleFillSymbol
他是用来进行简单的Graphic面要素填充符号化的#xff0c;它可以设置要素的填充颜色#xff0c;边线颜色、线宽#xff0c;其用法如下#xff1a;
Polygon polygonnew Po…一、用Symbol对要素进行符号化
首先我们看一下Symbol 接口关系 1、SimpleFillSymbol
他是用来进行简单的Graphic面要素填充符号化的它可以设置要素的填充颜色边线颜色、线宽其用法如下
Polygon polygonnew Polygon();
polygon.startPath(new Point(102.733,25.05));
polygon.lineTo(new Point(102.736,25.00));
polygon.lineTo(new Point(102.736,25.03));
SimpleFillSymbol symbolnew SimpleFillSymbol(Color.Red);
symbol.setAlpha(50);//设置半透明
Graphic graphicnew Graphic(polygon,symbol);
graphicsLayer.add(graphic);
当然你可以通过使用SimpleLineSymbol来设置面要素的边线风格。 2、SimpleLineSymbol
SimpleLineSymbol被用来进行线要素的简单符号化。其用法和SimpleFillSymbol相似
Polyline plnew Polyline ();
pl.startPath(new Point(102.733,25.05));
pl.lineTo(new Point(102.736,25.00));
SimpleLineSymbol linesymbolnew SimpleLineSymbol(Color.Red25, SimpleLineSymbol.SOLID);//设置线型宽度和颜色
symbol.setAlpha(50);//设置半透明
Graphic graphicnew Graphic(pl,linesymbol);
graphicsLayer.add(graphic);3、SimpleMarkSymbol
针对点状要素的 Graphic 对象进行样式设置的类SimpleMarkerSymbol 与 PictureMarkerSymbol类很相似只不过一个渲染成矢量点另一个通过图片来替换该点。使用SimpleMarkerSymbol 可以设置点的样式如点的大小颜色和类型用法如下
Point point new Point();//创建点对象
Point.setX(102.733);//设置x坐标
Point.setY(25.05);//设置y坐标
//设置点样式的颜色大小和点类型
SimpleMarkerSymbol sms new SimpleMarkerSymbol(Color.RED,20,STYLE.CIRCLE) //这里有选项可以选择比如“X”方块点以及“”
Graphic graphic new Graphic(point,sms);
graphicsLayer.addGraphic(graphic); 4、PictureMarkSymbol
同样用来渲染点要素的Graphic它通过使用URL或 Drawable 等方式来设置图片符号它可以设置偏移和旋转角度其用法如下
PictureMarkerSymbol pic new PictureMarkerSymbol(getResources().getDrawable(R.drawable.icon));
Point pt new Point(102.733,25.05);//创建一个点对象
Graphic g new Graphic(pt,pic);//设置样式graphicsLayer.addGraphic(g);添加到图层中
5、TextSymbol
TextSymbol 用于在地图上显示文本标记针对点状要素的 Graphic 可以设置文字的大小、颜色、内容和排列方式。标绘的文字排列方式有两种横向排列和纵向排列默认横向居中显示。用法如下
Point point new Point();//创建点对象
point .setX(102.733);//设置x坐标
point .setY(25.05);//设置y坐标
//设置点样式的颜色大小和文本内容
TextSymbol ts new TextSymbol (12,”点样式”,Color.RED);
//如果显示的是中文这里需要设置标记的字体
ts.setFontFamily(DroidSansFallback.ttf);
Graphic g new Graphic(point,ts);
graphicsLayer.addGraphic(g);二、用Render类对图层渲染 Render类来进行符号化渲染。Renderer 是一个接口类型该接口主要用于 Graphic 对象的样式渲染它目前有四个实现类关系图如下所示 1、SimpleRenderer 是最简单的一个渲染类通过这个渲染类可以把图层中某一类型的要素同时进行渲染比如想将图层中的所有点同时渲染成相同的样式用法如下
SimpleRenderer renderer new SimpleRenderer(new SimpleMarkerSymbol(Color.RED,20,STYLE.CIRCLE));
graphicsLayer.setRenderer(renderer);//为图层设置渲染2、ClassBreaksRenderer 使用 ClassBreaksRenderer 可以将 GraphicsLayer 图层中的某一类型的 Graphic 对象进行分段渲染用法如下
ClassBreaksRenderer renderer new ClassBreaksRenderer(); renderer.setMinValue(0.0);//设置最小值 renderer.setField(POP07_SQMI);//渲染依附的字段 ClassBreak cb1 new ClassBreak();//定义第一段渲染范围和样式 cb1.setClassMaxValue(25); cb1.setSymbol(new SimpleFillSymbol(Color.argb(128, 56, 168, 0))); cb1.setLabel(First class); ClassBreak cb2 new ClassBreak();//定义第二段渲染范围和样式 cb2.setClassMaxValue(75); cb2.setSymbol(new SimpleFillSymbol(Color.argb(128, 139, 209, 0))); cb2.setLabel(Second class); ClassBreak cb3 new ClassBreak();//定义第三段渲染范围和样式 cb5.setClassMaxValue(Double.MAX_VALUE); cb5.setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 0, 0))); renderer.addClassBreak(cb1); renderer.addClassBreak(cb2); renderer.addClassBreak(cb3); graphicsLayer.setRenderer(renderer); 设置他的步骤只需简单几步 1) 创建 ClassBreaksRenderer 对象 2) 设置渲染的字段和最小值 3) 创建多个分段渲染对象ClassBreak设置最大值和样式 4) 将分段渲染对象添加到 ClassBreaksRenderer 对象中 5) 为图层设置 Renderer 对象
3、UniqueValueRenderer 唯一值渲染类该渲染方式是对某一字段进行唯一值渲染如一个面状图层其中一个字段是对该图层的数据分类这时就可以对该分类字段进行唯一值渲染类型为住宅楼的为黄色工厂的为紫色商业区的为红的等等也可以对多个字段进行联合唯一值渲染最多联合三个字段进行渲染用法如下
UniqueValueRenderer uvr new UniqueValueRenderer();
uvr.setField(TYPE);
UniqueValue uv1 new UniqueValue();
uv1.setValue(new String[]{Residential});
uv1. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 100, 0))); UniqueValue uv2 new UniqueValue();
uv2.setValue(new String[]{Industrial});
uv2. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 200, 0))); UniqueValue uv3 new UniqueValue();
uv3.setValue(new String[]{Commercial});
uv3. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 150, 0))); uvr.addUniqueValue(uv1);
uvr.addUniqueValue(uv2);
uvr.addUniqueValue(uv3);
graphicsLayer.setRenderer(uvr);//为图层设置渲染
4、DictionaryRenderer 这是一个由字典定义的渲染器。它公开了控制符号内文本项目可见性的方法。可见性可以通过存储在MessageProcessor的资源束中的消息类型文件来设置。消息类型文件中定义的可见性可以被DictionaryRenderer中公开的setter方法。但是覆盖的可见性设置对先前添加的符号没有影响。