protected function gp_jobCompleteHandler(event:GeoprocessorEvent):void
{
if (event.jobInfo.jobStatus == JobInfo.STATUS_SUCCEEDED)
{
gp.addEventListener(GeoprocessorEvent.GET_RESULT_DATA_COMPLETE, onGetResult);
gp.getResultData(gp.submitJobLastResult.jobId, "Result");
var messages:Array = event.jobInfo.messages;
var count:int = messages.length;
var index:int = count-2;
var message:String = messages[index].description;
statusArea.appendText(message + "\n");
statusArea.appendText("Drawing result graphics..." + "\n");
}
else
{
var messages1:Array = event.jobInfo.messages;
var count1:int = messages1.length;
var index1:int = count1-4;
var message1:String = messages1[index1].description;
statusArea.appendText(message + "\n");
Alert.show("Geoprocessing Error:\n" + message1);
}
} protected function onGetResult(event : GeoprocessorEvent) : void
{
myGraphicsLayer.renderer = ResultRenderer();
var pv:ParameterValue = event.parameterValue;
fs = new FeatureSet;
fs = pv.value as FeatureSet;
for each(var graphic:Graphic in fs.features)
{
graphic.addEventListener(MouseEvent.CLICK, graphic_clickHandler);
graphic.addEventListener(MouseEvent.DOUBLE_CLICK, graphic_doubleClickHandler)
myGraphicsLayer.add(graphic);
}
map.addLayer(myGraphicsLayer);
var resultAttribute:Array = fs.attributes;
resultAttributes= new ArrayCollection(resultAttribute);
CursorManager.removeBusyCursor();
} protected function gp_jobCompleteHandler(event:GeoprocessorEvent):void
{
if (event.jobInfo.jobStatus == JobInfo.STATUS_SUCCEEDED)
{
gp.addEventListener(GeoprocessorEvent.GET_RESULT_DATA_COMPLETE, onGetResult);
gp.getResultData(gp.submitJobLastResult.jobId, "Result");
gp.getResultData(gp.submitJobLastResult.jobId, "SummaryStats");
var messages:Array = event.jobInfo.messages;
var count:int = messages.length;
var index:int = count-2;
var message:String = messages[index].description;
statusArea.appendText(message + "\n");
statusArea.appendText("Drawing result graphics..." + "\n");
}
else
{
var messages1:Array = event.jobInfo.messages;
var count1:int = messages1.length;
var index1:int = count1-4;
var message1:String = messages1[index1].description;
statusArea.appendText(message + "\n");
Alert.show("Geoprocessing Error:\n" + message1);
}
} protected function onGetResult(event : GeoprocessorEvent) : void
{
myGraphicsLayer.renderer = ResultRenderer();
var pv:ParameterValue = event.parameterValue;
var pv2:ParameterValue = event.parameterValue; // This seems wrong -- how do I tell it to take the second of the output parameters?
fs = new FeatureSet;
fs = pv.value as FeatureSet;
rs = new RecordSet; // This doesn't work. "RecordSet" isn't an option
rs = pv2.value as RecordSet; // This obviously doesn't work either
for each(var graphic:Graphic in fs.features)
{
graphic.addEventListener(MouseEvent.CLICK, graphic_clickHandler);
graphic.addEventListener(MouseEvent.DOUBLE_CLICK, graphic_doubleClickHandler)
myGraphicsLayer.add(graphic);
}
map.addLayer(myGraphicsLayer);
var resultAttribute:Array = fs.attributes;
resultAttributes= new ArrayCollection(resultAttribute);
var sumStatsAttribute = rs.attributes; // This obviously isn't working since 'rs' isn't working
sumStatsAttributes = new ArrayCollection(sumStatsAttribute);
CursorManager.removeBusyCursor();
}Solved! Go to Solution.
protected function onGetResult(event : GeoprocessorEvent) : void { if (event.parameterValue.paramName == "Result") { var pv1:ParameterValue = event.parameterValue; symbolizeResults(pv1); } if (event.parameterValue.paramName == "SummaryStats") { var pv2:ParameterValue = event.parameterValue; addSumStats(pv2); } } private function symbolizeResults(pv1:ParameterValue):void { fs = new FeatureSet; fs = pv1.value as FeatureSet; for each(var graphic:Graphic in fs.features) { graphic.addEventListener(MouseEvent.CLICK, graphic_clickHandler); graphic.addEventListener(MouseEvent.DOUBLE_CLICK, graphic_doubleClickHandler) myGraphicsLayer.add(graphic); } map.addLayer(myGraphicsLayer); zoomToGraphics(); var resultAttribute:Array = fs.attributes; resultAttributes= new ArrayCollection(resultAttribute); } private function addSumStats(pv2:ParameterValue):void { rs = new FeatureSet; rs = pv2.value as FeatureSet; var sumStatsAttribute:Array = rs.attributes; sumStatsAttributes = new ArrayCollection(sumStatsAttribute); } protected function onGetResult(event : GeoprocessorEvent) : void
{
myGraphicsLayer.renderer = ResultRenderer();
var pv:ParameterValue = event.parameterValue["Result"];
var pv2:ParameterValue = event.parameterValue["SummaryStats"];
fs = new FeatureSet;
fs = pv.value as FeatureSet;
rs = new FeatureSet;
rs = pv2.value as FeatureSet;
}var pv:ParameterValue = event.parameterValue.paramName["Result"]; var pv2:ParameterValue = event.parameterValue.paramName["SummaryStats"];
protected function onGetResult(event : GeoprocessorEvent) : void { if (event.parameterValue.paramName == "Result") { var pv1:ParameterValue = event.parameterValue; symbolizeResults(pv1); } if (event.parameterValue.paramName == "SummaryStats") { var pv2:ParameterValue = event.parameterValue; addSumStats(pv2); } } private function symbolizeResults(pv1:ParameterValue):void { fs = new FeatureSet; fs = pv1.value as FeatureSet; for each(var graphic:Graphic in fs.features) { graphic.addEventListener(MouseEvent.CLICK, graphic_clickHandler); graphic.addEventListener(MouseEvent.DOUBLE_CLICK, graphic_doubleClickHandler) myGraphicsLayer.add(graphic); } map.addLayer(myGraphicsLayer); zoomToGraphics(); var resultAttribute:Array = fs.attributes; resultAttributes= new ArrayCollection(resultAttribute); } private function addSumStats(pv2:ParameterValue):void { rs = new FeatureSet; rs = pv2.value as FeatureSet; var sumStatsAttribute:Array = rs.attributes; sumStatsAttributes = new ArrayCollection(sumStatsAttribute); }