您的位置:首页 > Web前端 > JavaScript

REST API下的ArcServer 9.3.0与9.3.1使用Javascript实现路径分析的不同方式

2009-08-11 09:01 615 查看
上次说了,9.3.0中没有直接的对routeTask进行支持,但是跟ESRI的工程师联系了下,对方有解决方案,就是使用GeoProcessing Service来做,用了发现这个GPserver还是很强大的,可以做的事情还有缓冲区之类的,挺好。

使用9.3.0做路径分析的时候,数据要使用建模工具做一下,具体的模型做法及服务设置可参考这里

http://webhelp.esri.com/arcgisserver/9.3/java/index.htm#geoprocessing/guide_-1963186772.htm

 

发布完数据后,在javascript中使用GPserver,可参考Geoprocessor Task的官方示例,关键代码如下:

_gpShortService = new esri.tasks.Geoprocessor(_GPShortRouteURL);

_routeParams = new esri.tasks.FeatureSet();

添加起点终点,在地图的onClick事件中处理

var stop = map.graphics.add(new esri.Graphic(evt.mapPoint, stopSymbol));
_routeParams.features.push(stop);
设置参数具体内容
var params = { "Feature_set":_routeParams };
在这里,“Feature_set”是根据不同的处理模型中定义的输入参数名称,可能不同
执行路径分析:
_gpShortService.execute(params,showRoute,errorHandler);
参数第一个不用说了,第二个是结果集处理,第三个是错误处理
如下:
showRoute(routeResults, messages)
路径结果按这样取出:routeResults[0].value.features[0];
然后对其setSymbol就可以显示在地图上了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐