路徑規劃導覽

路徑規劃導覽

二維圖台上的路徑規劃功能,在三維立體環境下呈現不同的風貌。由於圖台可以任意變化觀察角度、傾斜,並且模擬真實空間相對位置狀況,因此路徑規劃的結果可以在擬真的狀態下呈現,亦即可以藉由模擬飛行達到路線導覽的效果。另外可以搭配播放工具,播放整個路徑行走的過程。

在實作過程,仍需先以TERoutes()物件進行路徑規劃,取出規劃結果以TELine()物件繪製出來。

var request = {                                                        //設定路徑參數

                                   avoidHighways: true,                         //是否迴避收費道路

                                   blockpoints: blocks,                           //設定禁行點

                                   coordinateSystem: 'EPSG:4326',             //指定坐標系統

                                   destination: dest,                                        //設定終點

                                   origin: ori,                                             //設定起點

                                   shortestRoute: false,                          //使用最短路徑方法進行分析

                                   wayPoints: wpts                                          //設定經過點

                           };

                           RouteAnalysis.route(request, function(result){   //執行路徑規劃

                                   var NavigateInfo = "";                       //建立空字串, 準備寫入導航資訊

                                   var routes = result.routes;                                        //取出規劃結果

                                   RoutePathes = routes[0].overviewPath;               //由規劃結果中取出路徑(TGLineString形式)

                                   var TotalDist = routes[0].distance;         //取出規劃結果總路徑長度

                                   var TotalTime = routes[0].time;                      //取出規劃結果總耗時

                                   var string0 = '路徑總長度 = ' + TotalDist.toFixed(0) + ' 公尺' + '<br>' + '總耗時 = ' + (TotalTime/60).toFixed(0) + ' ' + (TotalTime%60) + ' <br><br>';

                                   NavigateInfo += string0;                                  //組合總長度及總耗時字串並加入並加入NavigateInfo

                                   var line = new TGOS.TELine(tg3dEarth, RoutePathes, {    //將規劃路徑繪出, 使用TGLine物件

                                           strokeColor: '#33CCFF',

                                           strokeWeight: 5,

                                           strokeOpacity: 0.7,

                        LineType : TGOS.TELineType.RoundPipe

                         });

                    tg3dEarth.fitBounds(routes[0].bounds);

           });

 

在取出路徑相關資訊後,即可建立飛行工具,並將其path資訊做為飛行路徑,可以設定飛行的速度、傾角、高度等參數。另外,也可以配合播放工具,做出播放、暫停、停止等效果。

function playRoute(){

                var viewRoute = new TGOS.TEViewRoute();  //建立飛行工具物件

                viewRoute.routeFly(tg3dEarth,{  //使用路徑飛行功能

                    path : RoutePathes.getPath(),  //讀入路徑

                    speed : 500//飛行速度

                    dip:75//傾角

                    height:50  //飛行高度

                });

 

            }

回到上方