模型实现:详见http://www.gisall.com/index.php?uid-124272-action-viewspace-itemid-6086
其中需要注意的地方,中间输出环境变量要用草图工作空间%scratchworkspace%,能拖管的一定要托管.
具体实现代码
1.?<?xml version=”1.0″ encoding=”utf-8″?>
2.?<s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009”
3.??????xmlns:s=”library://ns.adobe.com/flex/spark”
4.??????xmlns:mx=”library://ns.adobe.com/flex/mx” xmlns:supportClasses=”com.esri.ags.skins.supportClasses.*”minWidth=”955″ minHeight=”600″ xmlns:esri=”http://www.esri.com/2008/ags“>
5.?
6.??<fx:Script>
7.??
8.????<![CDATA[
9.????
10.?????
11.?????import com.esri.ags.FeatureSet;
12.?????import com.esri.ags.Graphic;
13.?????import com.esri.ags.events.DrawEvent;
14.?????import com.esri.ags.events.GeoprocessorEvent;
15.?????import com.esri.ags.geometry.MapPoint;
16.?????import com.esri.ags.layers.FeatureLayer;
17.?????import com.esri.ags.layers.GPResultImageLayer;
18.?????import com.esri.ags.symbols.Symbol;
19.?????importcom.esri.ags.tasks.supportClasses.ExecuteResult;
20.?????importcom.esri.ags.tasks.supportClasses.ParameterValue;
21.?????
22.?????import mx.controls.Alert;
23.?????import mx.events.ItemClickEvent;
24.?????import mx.rpc.AsyncResponder;
25.?????import mx.rpc.events.FaultEvent;
26.?????
27.?????import spark.events.IndexChangeEvent;
28.?????protected functiontbb_itemClickHandler(event:ItemClickEvent):void
29.?????{
30.??????
31.??????switch (event.index)
32.??????{
33.???????
34.???????case 0:{navTool.activate(NavigationTool.PAN,true);break; }
35.???????case 1:{navTool.activate(NavigationTool.ZOOM_IN,true); break; }
36.???????case 2: {navTool.activate(NavigationTool.ZOOM_OUT,true); break; }
37.???????case 3:{navTool.zoomToPrevExtent(); break; }
38.???????case 4:{navTool.zoomToNextExtent(); break; }
39.???????case 5:{navTool.map.zoomToInitialExtent(); break; }
40.????????case 6:{
41.?????????
42.?????????//添加系列监听对gp模型输出结果进行处理
43.?????????gp.addEventListener(GeoprocessorEvent.JOB_COMPLETE,gp_JobCompleteHandler);
44.?????????
45.?????????gp.addEventListener(GeoprocessorEvent.GET_RESULT_DATA_COMPLETE,gp_ResultCompleteHandler);
46.?????????
47.?????????gp.addEventListener(FaultEvent.FAULT,onGPFault);
48.?????????
49.?????????gp.submitJob(null);
50.?????????
51.?????????break;
52.????????}
53.????????
54.??????}
55.?????}
56.???
57.?????protected functiongp_JobCompleteHandler(event:GeoprocessorEvent):void?
58.?????{
59.??????
60.??????//输出output
61.??????gp.getResultData(event.jobInfo.jobId,"output");
62.??????
63.??????
64.??????
65.?????}
66.?????//把返回结果显示到地图上
67.?????private functiongp_ResultCompleteHandler(event:GeoprocessorEvent):void
68.??????
69.?????{
70.??????
71.??????var pv : ParameterValue =event.parameterValue;
72.??????
73.??????
74.??????var fs : FeatureSet = pv.value asFeatureSet;
75.??????
76.???
77.??????ruteGraphicsLayer.graphicProvider =fs.features;
78.??????
79.??????Map1.addLayer(ruteGraphicsLayer);
80.??????
81.??????
82.?
83.?????}
84.?????//gp执行失败的错误处理
85.?????private function onGPFault(fe:FaultEvent):void
86.?????{
87.??????this.cursorManager.removeBusyCursor();
88.??????if (fe.type == "fault"&& fe.fault.name == "Error" && fe.fault.faultString== "Error Executing Task")
89.??????{
90.???????Alert.show("Oops - noresults.? Maybe try a smaller number.");
91.??????}
92.??????else
93.??????{
94.???????Alert.show("Unexpected fault:
" + fe.toString());
95.??????}
96.?????}
97.????
98.?
99.????]]>
100.??</fx:Script>
101.??<fx:Declarations>
102.???<esri:SimpleLineSymbol id=”sls”
103.?????????? width=”3″
104.??????????color=”0x00FF00″/>
105.???<!– 将非可视元素(例如服务、值对象)放在此处 –>
106.???<esri:NavigationTool id=”navTool” map=”{Map1}”/>
107.???<esri:Geoprocessor id=”gp”
108.????????? concurrency=”last”
109.?????????showBusyCursor=”true”
110.?????????utSpatialReference=”{Map1.spatialReference}”
111.????????? url=”http://192.168.1.201:8399/arcgis/rest/services/idwtool/GPServer/idwtool”/>
112.??</fx:Declarations>
113.??
114.??<esri:Map id=”Map1″ zoomSliderVisible=”false” >
115.???<esri:ArcGISDynamicMapServiceLayer url=”http://192.168.1.201:8399/arcgis/rest/services/idw/MapServer“>
116.???</esri:ArcGISDynamicMapServiceLayer>
117.???<esri:GraphicsLayer id=”ruteGraphicsLayer”symbol=”{sls}”>
118.????
119.???</esri:GraphicsLayer>
120.??</esri:Map>
121.??<mx:ToggleButtonBar id=”tbb”itemClick=”tbb_itemClickHandler(event)” >
122.???<mx:dataProvider>
123.????<fx:Array>
124.?????<fx:String>漫游</fx:String>
125.?????<fx:String>拉框放大</fx:String>
126.?????<fx:String>拉框缩小</fx:String>
127.?????<mx:Button id=”btn1″ label=”前一视图”/>
128.?????<mx:Button id=”btn2″ label=”后一视图”/>
129.?????<mx:Button id =”btn3″ label=”全图” />
130.?????<mx:Button id =”btn4″ label=”等值线” /> 131.????</fx:Array> 132.???</mx:dataProvider> 133.??</mx:ToggleButtonBar> 134.?? 135.?</s:Application>