使用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);
结果如下图所示:
注意,执行路径分析不能在主线程中进行,所以需开辟新线程执行此操作。
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);
结果如下图所示:
注意,执行路径分析不能在主线程中进行,所以需开辟新线程执行此操作。
相关文章推荐
- android 应用程序安装源码分析
- 针对Android提权代码zergRush的分析
- android Jni编译多平台so库
- 从Android到项目经理再到产品总监
- (五) Android 分享一个SharedPreferences的工具类,方便保存数据
- Android学习笔记一
- android上传图片至服务器
- android自动化测试之--使用java调用monkeyrunner(五)
- android自动化测试之--MonkeyRunner录制和回放脚本(四)
- android自动化测试之--MonkeyRunner使用实例(三)
- Android提权代码zergRush分析
- Android SDK开发包国内下载地址(转)
- android自动测试之--monkeyrunner工具(二)
- android自动化测试之MonkeyRunner--环境搭建(一)
- 关于Android屏幕适配
- android之--为模拟器安装应用
- How to Use OpenCV in Android Studio
- android之--adb环境变量配置
- android apk签名原理
- Android --ListView使用ArrayAdapter