本文主要是介绍ArcGISServer Flex API调用GP模型实现最短路径分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实现路径分析的核心代码如下:
privatefunction computeShortRoute():void
{
var featureSet:FeatureSet = new FeatureSet(pts);
var params:Object =
{
“输入位置“: stops
};
gp.execute(params,new AsyncResponder(onResult, onFault));
function onResult(
gpResult:ExecuteResult,
token:Object= null):void
{
var pv:ParameterValue = gpResult.results[2];
var fs:FeatureSet = pv.value as FeatureSet;
graphicsLayer.clear();
graphicsLayer.graphicProvider
= fs.features;
}
function onFault(info:Object, token:Object = null):void
{
Alert.show(info.toString());
}
}
程序截图:
注:
在之前的章节《ArcGISServer
Flex API调用GP服务实现服务区分析》一文中说到,在执行分析中传递的参数要注意实际的类型;只有参数类型匹配,分析功能才能正确执行。
对于输出参数同样存在这个问题,即便分析功能成功执行了,但是由于返回的参数选择不正确同样会得不到相应的结果。如下面,显示分析结果的代码
var pv:ParameterValue =
gpResult.results[2];
上面的代码中,results数组传递的是2,为什么不是1或其他的序号 ?
如下图所示GP服务的参数信息:
从上图可以看出GP工具在执行整个分析的过程中共输出了三个参数,而我们需要的是最后返回的分析结果路径,也就是“路径__2_”这个输出参数。所以前面的那行代码传递的数值为“2”。
这篇关于ArcGISServer Flex API调用GP模型实现最短路径分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!