建立導航

建立導航

路徑規劃提供在TWD97WGS84坐標系統上運算,使用者指定出發點與目的地,程式將自動提供規劃路徑,並可以選擇顯示路徑距離。此外路徑規劃功能中也提供進階路徑規劃功能,包括:中繼點路徑規劃服務及禁行通行點之路徑規劃,並可指定路徑規劃之結果距離單位採用公制系統或英制系統。要注意的是,建立一個新的路徑規劃,即使沒有使用中途經過點與禁止通行點,仍需在程式中宣告建立起空的中途經過點及禁止通行點陣列,並於request中列出,詳細範例如下。

function CalcRoute() {

var blocks = new Array();  //建立空的禁行點陣列

var ori = new TGOS.TGPoint(3038942773234);  //設定起點

var dest = new TGOS.TGPoint(3061082770451);  //設定終點

var wpts = new Array();  //建立空的中途經過點陣列

 

var p1 = new TGOS.TGMarker(pMap, ori, '起點');  //在地圖上繪出所有點位

var p2 = new TGOS.TGMarker(pMap, dest, '終點');

 

var RouteAnalysis = new TGOS.TGRoutes();  //宣告路徑規劃物件

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

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

blockpoints: blocks,  //設定禁行點

coordinateSystem: "EPSG:3826",  //指定坐標系統

destination: dest,  //設定終點

origin: ori,  //設定起點

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

wayPoints: wpts  //設定經過點

};

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

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

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

var pathes = 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.TGLine(pMap, pathes, {  //將規劃路徑繪出使用TGLine物件

strokeColor: '#3300FF',

strokeWeight: 5,

strokeOpacity: 0.7

});

});

}

 

回到上方