private function PerformQuery():void { var dLayer:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("http://apdpdgismap01:6080/arcgis/rest/services/GISDPD01/CrimePart1_28Days/MapServer"); map.addLayer(dLayer); dLayer.visible = true; //var dLayer:ArcGISDynamicMapServiceLayer = map.getLayer("CrimePart1_28Days") as ArcGISDynamicMapServiceLayer; dLayer.name = "CrimePart1_28Days" var layerDefs:Array = new Array(); var layerStr:String = new String(); layerStr = "DIVISION = '" + Offense.text + "'" layerDefs[0] = layerStr; dLayer.layerDefinitions = layerDefs; dLayer.refresh(); } ]]> </fx:Script> <viewer:WidgetTemplate id="DPD_Crime_Data" width="300" height="300"> <viewer:layout> <s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/> </viewer:layout> <s:Label id="lbl" width="100%" fontSize="18" fontStyle="italic" fontWeight="bold"/> <s:TextInput id="Offense" width="100%" /> <s:Button label="Query Crime" click="PerformQuery();"/> </viewer:WidgetTemplate> </viewer:BaseWidget>
private function PerformQuery():void { //var dLayer:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("http://apdpdgismap01:6080/arcgis/rest/services/GISDPD01/CrimePart1_28Days/MapServer"); //map.addLayer(dLayer); //dLayer.visible = true; var dLayer:ArcGISDynamicMapServiceLayer = map.getLayer("CrimePart1_28Days") as ArcGISDynamicMapServiceLayer; dLayer.name = "CrimePart1_28Days" var layerDefs:Array = new Array(); var layerStr:String = new String(); layerStr = "DIVISION = '" + Offense.text + "'" layerDefs[0] = layerStr; dLayer.layerDefinitions = layerDefs; dLayer.refresh(); } ]]> </fx:Script> <viewer:WidgetTemplate id="DPD_Crime_Data" width="300" height="300"> <viewer:layout> <s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/> </viewer:layout> <s:Label id="lbl" width="100%" fontSize="18" fontStyle="italic" fontWeight="bold"/> <s:TextInput id="Offense" width="100%" /> <s:Button label="Query Crime" click="PerformQuery();"/> </viewer:WidgetTemplate> </viewer:BaseWidget> This is how the layer is added in the config file: <layer label="CrimePart1_28Days" id="CrimePart1_28Days" type="feature" visible="true" alpha="1.0" url="http://apdpdgismap01:6080/arcgis/rest/services/GISDPD01/CrimePart1_28Days/MapServer/0"/> </operationallayers>
Solved! Go to Solution.
<?xml version="1.0" encoding="utf-8"?> <viewer:BaseWidget 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:viewer="com.esri.viewer.*" layout="absolute" creationComplete="init()"> <fx:Script> <![CDATA[ import com.esri.ags.layers.FeatureLayer; private var FeatLay:FeatureLayer; private function init():void { FeatLay = map.getLayer("CrimePart1_28Days") as FeatureLayer; } private function PerformQuery():void { FeatLay.definitionExpression = ""; FeatLay.definitionExpression = "DIVISION = '" + Offense.text + "'"; FeatLay.refresh(); } ]]> </fx:Script> <viewer:WidgetTemplate id="DPD_Crime_Data" width="300" height="300"> <viewer:layout> <s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/> </viewer:layout> <s:Label id="lbl" width="100%" fontSize="18" fontStyle="italic" fontWeight="bold"/> <s:TextInput id="Offense" width="100%" /> <s:Button label="Query Crime" click="PerformQuery();"/> </viewer:WidgetTemplate> </viewer:BaseWidget>
<?xml version="1.0" encoding="utf-8"?> <viewer:BaseWidget 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:viewer="com.esri.viewer.*" layout="absolute" creationComplete="init()"> <fx:Script> <![CDATA[ import com.esri.ags.layers.FeatureLayer; private var FeatLay:FeatureLayer; private function init():void { FeatLay = map.getLayer("CrimePart1_28Days") as FeatureLayer; } private function PerformQuery():void { FeatLay.definitionExpression = ""; FeatLay.definitionExpression = "DIVISION = '" + Offense.text + "'"; FeatLay.refresh(); } ]]> </fx:Script> <viewer:WidgetTemplate id="DPD_Crime_Data" width="300" height="300"> <viewer:layout> <s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/> </viewer:layout> <s:Label id="lbl" width="100%" fontSize="18" fontStyle="italic" fontWeight="bold"/> <s:TextInput id="Offense" width="100%" /> <s:Button label="Query Crime" click="PerformQuery();"/> </viewer:WidgetTemplate> </viewer:BaseWidget>