flex 中渲染renderer的使用
一直以来觉得renderer很强大,今天终于有时间把renderer好好地整理了一下。
renderer渲染可以使加载的featureLayer的元素以不同的symbol呈现。
1,首先必须说的是render是不能为空的,他的下面必须有相对应的子render
先看看render下面有ClassBreaksRenderer的情况,这个render可以设定一个属性,根据属性的值给出不同的symbol如:
<esri:FeatureLayer id="hurricaneFeatureLayer"
load="hurricaneFeatureLayer_loadHandler(event)"
mode="snapshot"
outFields="[EVENTID,WINDSPEED]"
trackIdField="EVENTID"
url="http://servicesbeta.esri.com/ArcGIS/rest/services/Hurricanes/Hurricanes/MapServer/0">
<esri:renderer>
<esri:ClassBreaksRenderer attribute="WINDSPEED" defaultLabel="defaultLabel">
<esri:ClassBreakInfo maxValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="5"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="8"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-8"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="40" minValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="red"
size="15"/>
</esri:ClassBreakInfo>
</esri:ClassBreaksRenderer>
效果图如下:
2,SimpleRenderer是一个很简单的renderer,这个renderer只能用一种symbol