指定圖台初始位置
指定圖台初始位置
根據不同的使用情境,全台灣範圍的地圖顯示可能不會符合使用者的需求,而必需另指定特定的初始圖台位置及範圍。在指定圖台位置API可做一系列之地圖位置的設置動作,包含設定及取得地圖邊框範圍、設定地圖的中心點坐標、將地圖進行平移等功能,詳細說明如下所示:
alert("left:" + tg3dEarth.getBounds().getLeft() + "\n" + "top:" + tg3dEarth.getBounds().getTop() + "\n" + "right:" + tg3dEarth.getBounds().getRight() + "\n" + "bottom:" + tg3dEarth.getBounds().getBottom());
//取出地圖的邊框Envelope物件
var fixleft = Number(document.getElementById("fixleft").value);
var fixtop = Number(document.getElementById("fixtop").value);
var fixright = Number(document.getElementById("fixright").value);
var fixbottom = Number(document.getElementById("fixbottom").value);
tg3dEarth.fitBounds(new TGOS.TEEnvelope(fixleft, fixtop, fixright, fixbottom));
//傳入Envelope物件以設定地圖的邊框範圍
var PX = Number(document.getElementById("txt_X").value);
var PY = Number(document.getElementById("txt_Y").value);
var PZ = Number(document.getElementById("txt_Z").value);
var rot = Number(document.getElementById("txt_R").value);
var di = Number(document.getElementById("txt_D").value);
vpoint = new TGOS.TEViewpoint(PX, PY, PZ, rot, di);
tg3dEarth.setViewpoint(vpoint);
//輸入X坐標、Y坐標、高度、方向角、傾角,以此點為基準,對地圖平移至新視點
欲指定地圖的層級須使用setZoom(n)函式,來設定想要的層級,如1~12層。
欲取得地圖邊框範圍,可利用getBounds()的函式,取得邊框範圍。
欲設定地圖邊框範圍,可利用fitBounds(left,top,right,bottom)的函式,設定新的地圖邊框範圍。
欲將平移至新視點,可利用setViewpoint(vpoint)的函式,輸入X坐標、Y坐標、高度、方向角、傾角,以此點為基準,對地圖平移至新視點。