JavaScript 调用发布的GP服务

说明:
1)安装arcgis_js_api v3.9版本,可在我上传中的资源下载;
2)如何发布GP服务:参见我的博文http://blog.csdn.net/u010534192/article/details/53282489

代码:
<!DOCTYPE html> 
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>test GP</title>
    <link rel="Stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/themes/claro/claro.css" />
    <link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.9/3.9/js/esri/css/esri.css" />
    <script type="text/javascript"> var djConfig = { parseOnLoad: true, url: "localhost" };</script>
    <script type="text/javascript" src="http://localhost/arcgis_js_api/library/3.9/3.9/init.js"></script>

    <style type="text/css">
      html,body,#map{ height: 100%; width: 100%; margin: 0; padding: 0; }
    </style>

    <script type="text/javascript">
        dojo.require("dijit.layout.BorderContainer");
        dojo.require("dijit.layout.ContentPane");
        dojo.require("esri.map");
        dojo.require("esri.toolbars.draw");
        dojo.require("esri.tasks.gp");
        var map, gp;
        var resultLayer;
        var resultUrl;
        var jobId;
        var resultT;

        function init() {
            map = new esri.Map("map");
    //底图,底图坐标系要与GP服务的坐标系相同
            basemap = new esri.layers.ArcGISDynamicMapServiceLayer(
"http://localhost/ArcGIS/rest/services/myIDW/MapServer");
            map.addLayer(basemap);
            var button = dojo.byId("Submit");
            dojo.connect(button, 'onclick', doSubmit);
        }

        function doSubmit() {            
            var gpUrl = "http://localhost/ArcGIS/rest/services/testIDW/GPServer/IDW";
            gp = new esri.tasks.Geoprocessor(gpUrl);
            var parms = {
                 //必填,否则报错:GPTask 'IDW' does not exist or is inaccessible
                Z_value_field:"rain"
            };
            gp.submitJob(parms,jobResult);//异步方式
            //gp.execute(parms,jobResult);//同步方式
        }

        function jobResult(result) {
            var imageParams = new esri.layers.ImageParameters();  
            resultT=result;
            jobId = result.jobId;
            resultLayer=gp.getResultImageLayer(jobId, "Idw_result", imageParams);
            console.log(resultLayer.url);
            map.addLayer(resultLayer);
        }

        dojo.addOnLoad(init); 

    </script>
  </head>
  <body class="claro">
    <div id="info"> 
      <button id="Submit">Submit</button> 
    </div> 
    <div id="map" ></div>
  </body>
</html>


注: Z_value_field不可省略,会报错:GPTask “” does not exist or is inaccessible
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值