arcgis api for javascript 调用GP服务返的DynamicLayer显示不到地图中

1、成功执行gp服务的submitJob方法,获取到jobInfo;
2、成功执行gp服务的getResultImageLayer方法,获取到动态服务图层对象gpLayer;
3、成功执行map.addLayer(gpLayer);
经过以上步骤,地图中仍然没有显示gp服务返回的图层,哪位大神指点一下,多谢多谢!
附上代码如下:

// 调用GPServer,将CAD转换为GeoDatabase然后显示到map service中
var gpserverUrl = "http://" + parent.innerMapIP + "/arcgis/rest/services/Sample/CADToGeodatabase/GPServer/CAD%20to%20Geodatabase";
var gpCADtoGDB = new Geoprocessor(gpserverUrl);
gpCADtoGDB.outSpatialReference = map.spatialReference;
gpCADtoGDB.submitJob(null, completeCallback, statusCallback, errback);
 
// 执行submitJob成功回调函数
function completeCallback(jobInfo) {
    console.log("completeCallback"); 
    var imageParam = new ImageParameters();
    imageParam.imageSpatialReference = map.spatialReference;
    imageParam.transparent = true;
    gpCADtoGDB.getResultImageLayer(jobInfo.jobId, null, imageParam, function (gpLayer) {
      console.log(gpLayer);                     // 成功获取,layerId="layer7"
      gpLayer.setOpacity(0.5);
      map.addLayer(gpLayer);                // 成功执行,map对象的layerIds属性新增了"layer7"
    });
}
 
// 执行submitJob中回调函数
 
function statusCallback(jobInfo) { console.log("statusCallback"); }
 
// 执行submitJob失败回调函数
function errback(err) { console.log("errback"); }
 
已邀请:

Igis - webgis学习者

赞同来自:

你好,我也遇到和你一样的问题,GP服务执行成功的结果图层不显示,请问你是怎么解决的?

liyangis

赞同来自:

先从rest页面里看有没有结果数据

jiangwy280

赞同来自:

我也解决这个问题了,可以参考这个https://gis.santacruzcountyaz.gov/arcgis_js_api/sdk/jshelp/intro_gp_running.html
 
附源码
var completecallback=function(jobinfo){
// gp.getResultImageLayer(jobinfo.jobId,null,null,function(layer){
// g_map.addLayer(layer);
// g_map.setExtent(layer.fullExtent);
// });
gp.getResultData(jobinfo.jobId,'out_feature_class',function(layer){
var features=layer.value.features;
// display(features,sp);
var g=g_map.graphics;
for(var i =0;i<features.length;i++){
var f=features[i];
f.setSymbol(new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID,new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASHDOT,new Color([255,0,0]),2),new Color([255,255,0,0.25])));
g.add(f);
g_map.setExtent(f.geometry.getExtent());
}
// g_map.addLayer(layer);
// g_map.setExtent(layer.fullExtent);
},function(error){
console.log(error)
});
}
gp.submitJob(params,completecallback,jobStatus,jobFail);

要回复问题请先登录注册