ArcGIS for Flex4 點擊FeatureLayer 渲染InfoSymbol

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>



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章