legendDataGroup.itemRenderer = new ClassFactory(LegendGroupItemRenderer);
legendDataGroup.itemRenderer = new ClassFactory(MyLegendGroupItemRenderer);
<?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" name="LegendGroupItemRenderer" width="230" height="35" autoDrawBackground="false" focusEnabled="false" mouseChildren="false"> <fx:Script> <![CDATA[ import com.esri.ags.symbols.CompositeSymbol; import com.esri.ags.symbols.Symbol; import flashx.textLayout.formats.TextAlign; import mx.core.IVisualElement; override public function set data(value:Object):void { super.data = value; //First remove everything from the contentGroup contentGroup.removeAllElements(); // set style on the label templateLabel.setStyle("textAlign", TextAlign.CENTER); templateLabel.text = value.label; if (value.symbol) { if (!(value.symbol is CompositeSymbol)) // do not show legend for composite symbols { contentGroup.addElement(IVisualElement(Symbol(value.symbol).createSwatch(contentGroup.width, contentGroup.height))); } } } ]]> </fx:Script> <s:HGroup paddingLeft="10" verticalAlign="middle"> <s:Group id="contentGroup" width="myWidth" height="myHeight"/> <s:Label id="templateLabel"/> </s:HGroup> </s:ItemRenderer>
<esri:Legend id="myLegend" map="{myMap}" layers="{[salesLayer]}" skinClass="MyLegendSkin">
<s:Group id="contentGroup" width="30" height="30"/>
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.