<?xml version="1.0" encoding="utf-8"?>
<mx:Application    xmlns:mx="http://www.adobe.com/2006/mxml"
                   xmlns:esri=http://www.esri.com/2008/ags             
                   layout="absolute" width="100%" height="100%" xmlns:layers="com.esri.ags.layers.*">
 
    <mx:Script>      
        <![CDATA[
            import classes.GPContainer;
            import mx.managers.PopUpManager;
            import mx.containers.TitleWindow;
            import mx.containers.VBox;
            import com.esri.ags.layers.ImageParameters;
            import com.esri.ags.layers.GPResultImageLayer;
            import com.esri.ags.tasks.Query;
            import com.esri.ags.tasks.QueryTask;
            import com.esri.ags.layers.GraphicsLayer;
            import mx.messaging.channels.StreamingAMFChannel;
            import mx.rpc.events.FaultEvent;
            import com.esri.ags.tasks.JobInfo;
            import com.esri.ags.events.GeoprocessorEvent;           
            import com.esri.ags.Graphic;           
            import com.esri.ags.events.MapMouseEvent;           
            import com.esri.ags.geometry.MapPoint;           
            import com.esri.ags.tasks.ExecuteResult;           
            import com.esri.ags.tasks.FeatureSet;           
            import com.esri.ags.tasks.ParameterValue;           
            import mx.controls.Alert;           
            import mx.rpc.AsyncResponder;           

            private var jobid:String="";


            private function computeServiceArea(mapPoint:MapPoint):void           
            {    

                 //先查询出FeatureSet 作为GP的输入参数
                 var queryTask:QueryTask=new QueryTask("http://sps-010/ArcGIS/rest/services/guangyuangp/MapServer/0");
                queryTask.showBusyCursor=true;
                var query:Query=new Query();
                query.outFields=new Array("OBJECTID","SHAPE","DYP");
                query.where="STCD <>''";
                queryTask.execute(query,new AsyncResponder(onQueryResult,onQueryFault));
                function onQueryResult(featureSet:FeatureSet, token:Object = null):void
                {

                    var params:Object = {                   
                    "Input_point_features":featureSet

                    };      
               
                     gp.addEventListener(GeoprocessorEvent.JOB_COMPLETE, completeCallback);

                    gp.addEventListener(FaultEvent.FAULT,onFault);
                    gp.submitJob( params ); 
                }


                function onQueryFault(info:Object, token:Object = null):void
                {
                    Alert.show(info.toString());  
                }
            } 

            function completeCallback(event: GeoprocessorEvent) : void
            {
                jobid=event.jobInfo.jobId;
                 var imageParameters : ImageParameters = new ImageParameters();
                  imageParameters.format="png32";
                  imageParameters.width=600;
                  imageParameters.height=400;
    
                gp.getResultImage(event.jobInfo.jobId,"outputMap",imageParameters,new AsyncResponder(onimgok, onimgno));

            }  


          function onimgok(info:Object, token:Object = null):void
            {
                var obj:Object=gp.getResultImageLastResult;
                var imageParameters : ImageParameters = new ImageParameters();
                  imageParameters.format="png32";
                  imageParameters.width=600;
                  imageParameters.height=400;
                var myImageLayer :GPResultImageLayer=gp.getResultImageLayer(jobid,"outputMap",imageParameters);
                //myMap.addLayer(myImageLayer); 

                
                var gpWin:GPContainer=PopUpManager.createPopUp(this,GPContainer,false) as GPContainer;
                gpWin.ShowResultLayer(myImageLayer);
                gpWin.title="降雨等值面";
 
                PopUpManager.centerPopUp(gpWin);
            }


            function onimgno(info:Object, token:Object = null):void
            {
            }
            private function mapClickHandler(event:MapMouseEvent):void           
            {               
                computeServiceArea(event.mapPoint);           
            }      
        ]]>   
    </mx:Script>   
    
        <esri:Map />
</mx:Application>

ArcServer +Flex 发布GP服务生成等值面(三) ---前端调用

相关文章:

  • 2021-09-20
  • 2021-10-01
  • 2022-12-23
  • 2021-10-03
  • 2021-12-27
  • 2021-11-26
  • 2021-09-11
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2021-09-23
  • 2021-09-04
相关资源
相似解决方案