The path analysis of ArcGIS for JS Development
//Method encapsulationfunctionRouteplan (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;//Service layers that correspond to corridor layersvar Routegraphiclayer =NewGraphiclayer (map, layername); Routegraphiclayer.clear ();//Delete the corresponding layer once per planvar map =Mapvar wkid = 5555;//Starting pointvar Ptstart =New Esri.geometry.Point (parsefloat (x1), parsefloat (y1),NewEsri. Spatialreference ({wkid:wkid}));//Endvar ptend =New Esri.geometry.Point (Parsefloat (x2), parsefloat (y2),NewEsri. Spatialreference ({wkid:wkid}));var Startptgra =NewEsri. Graphic (Ptstart);var Endptgra =NewEsri. Graphic (Ptend);//Set PATH stylevar Routesymbol =New Esri.symbol.SimpleLineSymbol (Esri.symbol.SimpleLineSymbol.STYLE_SOLID,New Dojo. Color ([1, 2, 3, 1], 5));//Description: RGB transparency, line width//Start, End stylevar routesymboldef =New Esri.symbol.SimpleLineSymbol (New Esri.symbol.SimpleLineSymbol.STYLE_SOLID,New Dojo. Color ([2, 3, 4, 5], 2));var routetask =NewEsri.tasks.RouteTask (Routeserverurl);var routeparams =NewEsri.tasks.routeParameters ();//Set parameter Routeparams.outspatialreference ={Wkid:wkid}; Routeparams.retuendirection =True; Routeparams.directionslengthunits =Esri. Units.meters; Routeparams.stops =NewEsri.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); });//Set up roadblocks parametersif (Array.Length > 0) {var Barrierroute =New Esri.geometry.Polyline (NewEsri. Spatialreference ({wkid:wkid}));var barriersgraphic =NewEsri. Graphic (Barrierroute); Routeparams.polylinebarriers =NewEsri.tasks.FeatureSet (); RouteParams.PolylineBarriers.features.push (barriersgraphic); }if (RouteParams.stops.features.length = = 0{alert ("parameter incomplete, unable to parse");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){Forvar i=0;i<res;i++){var graphicroute=Routeresults[i];var graphic=Graphicroute.route; Graphic.setsymbol (Routesymbol); Routegraphiclayer.add (graphic);//Connect route start, end point, corresponding location start, end pointvar paths=graphic.geometry.paths[0];var routestr=paths[0];var routeend=paths[paths.length-1];var routestrline=New Esri.geometry.Polyline ([[X1,y1],routestr],New ESRI. Spatialreference ({wkid:wkid})); var routeendline=new esri.geometry.Polyline ([[X2,y2], Routeend],new ESRI. Spatialreference ({wkid:wkid})); var strlinegraphic=new Esri. Graphic (ROUTESTRLINE,ROUTESYMBOLDEF); var endlinegraphic=new Esri. Graphic (ROUTEENDLINE,ROUTESYMBOLDEF); Routegraphiclayer.add (strlinegraphic); Routegraphiclayer.add (endlinegraphic); }} else{alert ("null result" function (ERRPR) {alert (ERRPR);});
The path analysis of ArcGIS for JS Development