博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arcgis for js开发之路径分析
阅读量:5990 次
发布时间:2019-06-20

本文共 2219 字,大约阅读时间需要 7 分钟。

arcgis for js开发之路径分析


 

//方法封装function routeplan(x1, x2, y1, y2, barrierPathArray, isDraw, callback) {    require([        "esri/symbol/SimpleLineSymbol",        "esri/Color", "esri/tasks/RouteTask", "esri/tasks/FreatureSet", "esri/tasks/RouteParameters" ], function () { var routeServerUrl = url;//对应道路图层的服务图层 var routeGraphicLayer = new GraphicLayer(map, layerName); routeGraphicLayer.clear();//每规划一次删除对应图层 var map = map; var wkid = 5555; //起点 var ptStart = new esri.geometry.Point(parseFloat(x1), parseFloat(y1), new esri.SpatialReference({ wkid: wkid })); //终点 var ptEnd = new esri.geometry.Point(parseFloat(x2), parseFloat(y2), new esri.SpatialReference({ wkid: wkid })); var startPtGra = new esri.Graphic(ptStart); var endPtGra = new esri.Graphic(ptEnd); //设置路径样式 var routeSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([1, 2, 3, 1], 5));//说明:rgb透明度,线宽 //起点、终点尾部样式 var routeSymbolDef = new esri.symbol.SimpleLineSymbol(new esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([2, 3, 4, 5], 2)); var routeTask = new esri.tasks.RouteTask(routeServerUrl); var routeParams = new esri.tasks.routeParameters(); //设置参数 routeParams.outSpatialReference = { wkid: wkid }; routeParams.retuenDirection = true; routeParams.directionsLengthUnits = esri.Units.METERS; routeParams.stops = new esri.tasks.FeatureSet(); routeParams.stops.features.push(startPtGra); routeParams.stops.features.push(endPtGra) route = JSON.stringify(barrierPathArray); var temp = jQuery.parseJSON(route); var array = []; $.each(temp, function (i, v) { var point = [v[0], item[1]]; array.push(point); }); //设置路障参数 if (array.length > 0) { var barrierRoute = new esri.geometry.Polyline(new esri.SpatialReference({ wkid: wkid })); var barriersGraphic = new esri.Graphic(barrierRoute); routeParams.PolylineBarriers = new esri.tasks.FeatureSet(); routeParams.PolylineBarriers.features.push(barriersGraphic); } if (routeParams.stops.features.length == 0) { alert("参数不全,无法分析"); return; } routeTask.solve(routeParams,function(solveResult){ if(callback){ callback(solveResult); } var routeResults=solveResult.routeResults; var res=routeResults.length; if9(isDraw=="false"){ return; } if(res>0){ for(var i=0;i

 

转载地址:http://xxjlx.baihongyu.com/

你可能感兴趣的文章
Redis 命令
查看>>
暴雪《争霸艾泽拉斯》*采用自适应 SSAO
查看>>
ES6入门基础
查看>>
Android 开发人员必须掌握的 10 个开发工具
查看>>
SAS EG第一课练习1
查看>>
Ubuntu14.04安装redis和简单配置
查看>>
游戏Loading中的小提示和Loading动画实现
查看>>
ruby 操作csv
查看>>
算法笔记--极大极小搜索及alpha-beta剪枝
查看>>
对搭档代码的修改意见
查看>>
前端知识点合集
查看>>
新闻网站个人中心(个人信息修改)流程分析
查看>>
20165231 2017-2018-2 《Java程序设计》第3周学习总结
查看>>
【JavaScript】动态原型模式创建对象 ||为何不能用字面量创建原型对象?
查看>>
C/C++经典面试题一
查看>>
分布式事务
查看>>
强大的提交框:jquery.jbox
查看>>
eclipse安装egit上传和clone项目到github
查看>>
Matplotlib -多组线用不同的线性、颜色、节点绘制
查看>>
JavaScript中BOM的基础知识总结
查看>>