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 stub
var 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>