ArcGIS for Flex4 点击FeatureLayer 渲染InfoSymbol

来源:互联网 发布:网络终端机 云终端 编辑:程序博客网 时间:2024/06/06 09:43
private function createinfoSymbol(itemobj:Object):void{graphiclaryer.clear();var gra:Graphic = itemobj.graphic as Graphic;var symbol:SimpleFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID,0xFAB27B, 0.6);symbol.outline = new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, 0xFFFFFF, 0.6, 1);  var rendersgraphic:Graphic =new Graphic(gra.geometry,symbol);graphiclaryer.add(rendersgraphic);var infoSymbol:InfoSymbol  = new InfoSymbol();var infosymbolFactory:ClassFactory = new ClassFactory(motorRender);infosymbolFactory.properties =  {dataobj:itemobj};infoSymbol.containerStyleName="configrationInfoSymbolContainer";infoSymbol.infoRenderer  =  infosymbolFactory;var mappoint:MapPoint = new MapPoint();if(gra.geometry is MapPoint){mappoint = gra.geometry as MapPoint;}else{mappoint = gra.geometry.extent.center;}var newGraphic:Graphic =new Graphic(mappoint,infoSymbol);graphiclaryer.add(newGraphic);this.map.zoomTo(newGraphic.geometry);}/** * FeatureLayer点击事件  * @param event */protected function myADG_itemClickHandler(event:ListEvent):void{// TODO Auto-generated method stubvar itemobj:Object = (event.target as AdvancedDataGrid).selectedItem;createinfoSymbol(itemobj);}

 

motorRender:

<?xml version="1.0" encoding="utf-8"?><s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"><fx:Script><![CDATA[          [Bindable]private var _dataobj:Object;public function get dataobj():Object{return _dataobj;}public function set dataobj(value:Object):void{_dataobj = value;}]]></fx:Script>  <s:VGroup width="150" height="50" horizontalAlign="center" paddingBottom="5" paddingLeft="5"paddingRight="5" paddingTop="5" verticalAlign="middle"  fontFamily="宋体">     <s:HGroup width="100%" height="100%" horizontalAlign="left" verticalAlign="middle"> <s:Label color="#FFFFFF" fontSize="14" fontWeight="bold" text="设备类型:"/>  <s:Label color="#bed742" fontSize="12" fontWeight="normal" text="{_dataobj.type}"/> </s:HGroup>  <s:HGroup width="100%" height="100%" horizontalAlign="left" verticalAlign="middle">  <s:Label color="#FFFFFF" fontSize="14" fontWeight="bold" text="所属区域:"/>    <s:Label color="#bed742" fontSize="12" fontWeight="normal"   text="{_dataobj.ORG_NAME}"/>  </s:HGroup>  </s:VGroup></s:Group>