您的位置:首页 > 移动开发 > Android开发

使用Arcgis for Android进行路径分析的总体思路

2015-09-08 15:58 525 查看
使用Arcgis for Android进行路径分析,首先构建网络数据集,并将其发布为地图服务,然后使用RouteTask.createOnlineRouteTask()方法去加载发布的地图服务。进行路径分析时要实现RouteParameters接口,构造完参数后使用solve()方法执行路径分析。具体代码如下:

RouteParameters rp = rt

.retrieveDefaultRouteTaskParameters();

NAFeaturesAsFeature naferture = new NAFeaturesAsFeature();

StopGraphic stopGraphic1 = new StopGraphic(mLocation);

StopGraphic stopGraphic2 = new StopGraphic(p);

naferture.setFeatures(new Graphic[] { stopGraphic1,

stopGraphic2 });

naferture.setCompressedRequest(true);

rp.setStops(naferture);

rp.setOutSpatialReference(mapSR);

try {

// 执行路径分析

mResult = rt.solve(rp);

runOnUiThread(new MyRun(mResult));

注意在至执行路径分析时,要设置停靠点,使用StopGraphic类的实例对象存储停靠点。此外,这过程还涉及到空间参考系的问题。执行网路径分析后要将结果显示到地图上来就涉及到GIS中的制图表现。使用GraphicsLayer存储制图表现,使用Symbol和SimpleLineSymbol对停靠点符号和路径进行符号表示。主要代码如下:

private Symbol stopSymbol;// 停靠点的符号

private SimpleLineSymbol hiderSym;// 查询到的路径的片段,设置透明将其“隐藏”

private SimpleLineSymbol showSym;// 当路径片段被选中的时候,显示的符号

stopSymbol = new SimpleMarkerSymbol(Color.RED, 6,

SimpleMarkerSymbol.STYLE.CIRCLE);

hiderSym = new SimpleLineSymbol(Color.WHITE, 3);

// 设置成透明,使其处于“隐藏”状态

hiderSym.setAlpha(100); showSym = new SimpleLineSymbol(Color.RED, 4);

结果如下图所示:

注意,执行路径分析不能在主线程中进行,所以需开辟新线程执行此操作。


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