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

使用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);

结果如下图所示:


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

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值