private function initCombo():void { var baseURL:String = "http://myserver/ArcGIS/rest/services/mystuff/MapServer/" var tokenCounter:int = 0; // tokens is an array collection of objects // only feature layers 7 to 10 are relevant for this combobox for (var i:int = 7; i < 11; i++) { queryTask.url = baseURL + i.toString(); queryTask.execute(query, new AsyncResponder(onResult, onFault, tokens.getItemAt(tokenCounter))); tokenCounter++; } function onResult(featureSet:FeatureSet, token:Object = null):void { for each (var graphic:Graphic in featureSet.features) { var fieldValue:String = token.name + " " + graphic.attributes["OBJECTID_1"].toString(); token.collection.addItem({label:fieldValue, data:graphic.geometry}); } for each (var item:Object in tokens) { // probably a better way to get a handle back to global collections than this if (item.name == token.name) { item.collection = token.collection; item.completed = true; break; } } // if all the tokens are true, merge the collections into one if (checkTokens()){ // collections is an array containing the array collections so I can iterate through them for (var i:int = 0; i < collections.length; i++) { mergedCollection = new ArrayCollection(result.source.concat(collections.source)); } cmb1.labelField = "label"; cmb1.dataProvider = mergedCollection; } } function onFault(info:Object, token:Object = null):void { Alert.show(info.toString(), "Query Problem"); } } private function checkTokens():Boolean { for (var i:int = 0; i < tokens.length; i++) { if (!(tokens.completed)) { return false; } } return true; } private function doQuery():void { graphicsLayer.clear(); query.where = ""; // I thought this would be the geometry returned by the query query.geometry = cmb1.selectedItem.value; queryTask.execute(query, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features); if (graphicsExtent) { map.extent = graphicsExtent; } graphicsLayer.graphicProvider = featureSet.features; } function onFault(info:Object, token:Object = null):void { Alert.show(info.toString(), "Query Problem"); } }
Solved! Go to Solution.
query.geometry = cmb1.selectedItem.data;
query.geometry = cmb1.selectedItem.data;