ARCGIS viewer入门(12)关于Symbol



CompositeSymbol(组合样式):包括CompositeSymbol

MarkerSymbol(点样式):包括SimpleMarkerSymbol和PictureMarkerSymbol

FillSymbol(面样式):包括SimpleFillSymbol和PictureFillSymbol

LineSymbol(线样式):包括SimpleLineSymbol和CartographicLineSymbol

InfoSymbol(信息样式):包括InfoSymbol一种

TextSymbol(标注样式):包括TextSymbol一种

以下介绍对几种样式做简单介绍

1、 CompositeSymbol:用于将多个样式进行复合起来。使用方法如下:

<esri:CompositeSymbol> <esri:SimpleMarkerSymbol style="circle" color="0x0000FF" size="20"/>

<esri:TextSymbol text="i" color="0xFFFFFF" backgroundColor="0x0000FF"> <flash:TextFormat bold="true" size="16"/> </esri:TextSymbol>

</esri:CompositeSymbol>

上述代码的效果就是在圆里面写个字母i。详细见ESRI官方在线例子。

这个效果可以用来进行标注的渲染,使标注多样化。

2、 SimpleMarkerSymbol:指定预先定义好的一些marker,来渲染地图图元。

ESRi提供的样式有以下几种:

public static const STYLE_CIRCLE:String = "circle" ---圆形

public static const STYLE_CROSS:String = "cross" ----十字叉

public static const STYLE_DIAMOND:String = "diamond" –菱形

public static const STYLE_SQUARE:String = "square" ---矩形框

public static const STYLE_TRIANGLE:String = "triangle" ---三角形

public static const STYLE_X:String = "x" ----x形叉

3、 PictureMarkerSymbol:使用一张图片,也可以使用一个SWF文件定义样式。这是最常用的渲染方式之一。

private var resultMarkerSymbol2:Symbol= new PictureMarkerSymbol("assets/Red_glow.swf",20,20,-10,-10);//如下图swf

   

 

我们通常的应用都会使用这一样式,使地图图元的意义更加明朗,地图也更加的美观。

使用AS的定义方法为:

PictureMarkerSymbol(source:Object = null, width:Number = 0, height:Number = 0, xoffset:Number = 0, yoffset:Number = 0, angle:Number = 0)

Source:图片路径,可以为网络路径或本地地址

Width:图片宽度。Height:图片高度。Xoffset:x方向上的偏移。

Angle:图片的旋转角度。

例如:

Var graphicPointSym: PictureMarkerSymbol = new PictureMarkerSymbol(widgetIcon, 30, 30);

其中的值都是有默认值的

4、 SimpleFillSymbol:用于对多边形类型的gra进行样式填充。需要使用SimpleLineSymbol设置边界的样式。

5、 PictureFillSymbol:使用图片对多边形进行填充

6、 SimpleLineSymbol:线的简单样式。在此不做介绍

7、 InfoSymbol:功能相当强大,其可以嵌入flex的控件进行渲染,例如饼图等都可以完成。用好此样式可以使自己的系统功能强大,事半功倍。

下面介绍一个为每个gra绘制饼图的例子。

按照如下方法定义一个infosymbol

<esri:InfoSymbol id="PointSym" infoPlacement="center">

<esri:infoRenderer>

<mx:Component>

<mx:VBox width="100%" height="100%">

<mx:PieChart id="pieChart" dataProvider="{data}" width="90" height="90" showDataTips="true">

<mx:series>

<mx:PieSeries field="num" labelField="name">

<mx:fills>

<mx:Array>

<mx:RadialGradient>

<mx:entries>

<mx:Array>

<mx:GradientEntry color="#FF0000" ratio="0"/>

</mx:Array>

</mx:entries>

</mx:RadialGradient>

<mx:RadialGradient>

<mx:entries>

<mx:Array>

<mx:GradientEntry color="#00ff00" ratio="0"/>

</mx:Array>

</mx:entries>

</mx:RadialGradient>

</mx:Array>

</mx:fills>

</mx:PieSeries>

</mx:series>

</mx:PieChart>

</mx:VBox>

</mx:Component>

</esri:infoRenderer>

</esri:InfoSymbol>

将此样式赋给要显示饼图的gra,注意PieChart的dataprivide为{data}这是固定写法,使用之可以将gra的attribute的信息内容赋给data。也就是说:

Dataprivide=data=gra.attribute;

下面的结构是data的定义:

var GraInfo:Object=

{

num:CurrentPec, name:gra.attributes.FREQ_LC+"MHz:/n"+CurrentPec+"%"

};

将num值赋予饼图当做饼图的值,name值当做鼠标移上的提示。

至此就可以完成一个infosymbol的使用。效果还是比较好的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值