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