<fx:Script> <![CDATA[ import com.esri.ags.Graphic; import com.esri.ags.tasks.supportClasses.Query; import mx.collections.ArrayCollection; import spark.events.IndexChangeEvent; import com.esri.ags.Map; //Create labels for drop down list data provider [Bindable] public var myDP:ArrayCollection = new ArrayCollection( [ {timeframe:"Last 2 Weeks"}, {timeframe:"Last Month"}, {timeframe:"Last 6 Months"}, {timeframe:"Last Year"}]); //Create string variable assigned initially to definition expression for last two weeks [Bindable] public var updateDefExp:String = "TIME_FRAME = 'TWO WEEKS'"; //Create functions to update definition expression in drop down list private function doQuery0():void { var defExp0:String = "TIME_FRAME = 'TWO WEEKS'"; updateDefExp = defExp0; } private function doQuery1():void { var defExp1:String = "TIME_FRAME = '1 MONTH'"; updateDefExp = defExp1; } private function doQuery2():void { var defExp2:String = "TIME_FRAME = '6 MONTHS'"; updateDefExp = defExp2; } private function doQuery3():void { var defExp3:String = "TIME_FRAME = '1 YEAR'"; updateDefExp = defExp3; } //Create function to update the updateDefExp variable to the correct timeframe private function updateSelection(e:IndexChangeEvent):void { if(myDDL.selectedIndex == 0) { myFeatureLayer.clearSelection(); doQuery0(); myMap.extent=myExtent; } else if (myDDL.selectedIndex == 1) { myFeatureLayer.clearSelection(); doQuery1(); myMap.extent=myExtent; } else if (myDDL.selectedIndex == 2) { myFeatureLayer.clearSelection(); doQuery2(); myMap.extent=myExtent; } else if (myDDL.selectedIndex == 3) { myFeatureLayer.clearSelection(); doQuery3(); myMap.extent=myExtent; } } protected function myMap_clickHandler(event:MouseEvent):void { if (event.target is Graphic || event.target.parent is Graphic) { var graphic:Graphic = event.target is Graphic ? Graphic(event.target) : Graphic(event.target.parent); var query:Query = new Query; query.objectIds = [ graphic.attributes[myFeatureLayer.layerDetails.objectIdField]]; myFeatureLayer.selectFeatures(query, FeatureLayer.SELECTION_NEW); myMap.zoomTo(graphic.geometry); myMap.scale = 1000; } else { myFeatureLayer.clearSelection(); } } ]]> </fx:Script>