道路定位

道路定位

提供特定道路的查詢定位,使用者可以輸入指定的道路名稱,取得該道路的範圍(TGEnvelope)及定位點坐標,可將地圖移動縮放至建議的視域範圍,並將定位點坐標置於地圖中心、以標記標示出位置。要注意的是,進行道路定位時,建議一併輸入行政區名稱,以避免常用路名(例如中山路)混淆的狀況。詳細範例如下。

var marker = null;

function locate() {

if (marker) {

marker.setMap(null);  //假設地圖上已存在查詢後得到的標記點則先行移除

}

var RName = document.getElementById('RoadName').value;

var LService = new TGOS.TGLocateService();  //宣告一個新的定位服務

var request = {  //設定定位所需的參數範例使用roadLocation, 進行道路名稱定位

roadLocation: RName

};

LService.locateTWD97(request, function(result, status){ 

//進行定位查詢並指定回傳資訊為TWD97坐標系統

var env = result[0].geometry.viewport; 

//geometry.viewport取得系統建議的視域範圍(TGEnvelope)

var loc = result[0].geometry.location; 

//利用geometry.location取得點位(TGPoint)

LService.fitBounds(pMap, env);  //將地圖畫面縮放至第一個查詢結果的視域範圍

LService.setCenter(pMap, loc);  //以道路定位點為中心平移地圖

marker = new TGOS.TGMarker(pMap, loc, RName);  //繪出定位點

});

}

 

回到上方