i am using arcDynamicMapServices for developing application, in our arcGIS server. i want to zoom my map as per my layer value (like block='0001'), m attaching code which i made.
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags"> <fx:Script> <![CDATA[ import com.esri.ags.events.LayerEvent; import com.esri.ags.geometry.Extent; private var location:ArcGISDynamicMapServiceLayer=new ArcGISDynamicMapServiceLayer(); private var lyrDef:Array; private function zoomToBlock(){ lblMsg.text='Zooming to Block..'; lyrDef = ["DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'", "DIST_CODE='31' AND BLOCK_CODE ='"+txtDisrictId.text+"'"]; dynServMap.layerDefinitions=lyrDef; //location.layerDefinitions=lyrDef; //location.addEventListener(LayerEvent.LOAD,completeHandler); } private function completeHandler(evt:LayerEvent){ var dynLyr:ArcGISDynamicMapServiceLayer; dynLyr=evt.layer as ArcGISDynamicMapServiceLayer; myMap.extent=dynLyr.fullExtent; } ]]> </fx:Script> <s:layout> <s:VerticalLayout/> </s:layout> <s:controlBarLayout> <s:HorizontalLayout gap="10" horizontalAlign="left" paddingBottom="7" paddingLeft="10" paddingRight="10" paddingTop="7"/> </s:controlBarLayout> <mx:ControlBar > <s:Button id="btn1" label="Select Layer" click="zoomToBlock()"/> <s:TextInput id="txtDisrictId" text="0001"/> <s:Label id="lblMsg"/> </mx:ControlBar> <esri:Map id="myMap"> <esri:infoWindowContent> <mx:TextArea id="myTextArea" width="250" height="75"/> </esri:infoWindowContent> <esri:ArcGISDynamicMapServiceLayer id="dynServMap" url="http://10.131.2.64:8080/GeoServiceRest/services/ModifiedGeoApproach/MapServer" visible="true"> <esri:visibleLayers> <s:ArrayCollection> <fx:Number>8</fx:Number> <fx:Number>9</fx:Number> <fx:Number>10</fx:Number> </s:ArrayCollection> </esri:visibleLayers> </esri:ArcGISDynamicMapServiceLayer> </esri:Map> </s:Application>
dear sir from above code i can select map in same extents, but i want to zoom it in center in full extent of selected layer.