引用主題圖磚

API使用範例:引用主題圖磚

 

情境假設:

此範例以下拉式選單的方式,讓使用者可以選擇欲引用的主題圖磚,包含都市計畫圖、非都市土地使用分區圖、國土利用調查以及千分之一地形圖,引用後套疊在底圖上進行合併展示。

TGOS MAP API建置方式:

 

1.    建立下拉式選單
        本範例首先於網頁介面建立一個下拉式選單,供使用者選擇欲加入之主題圖磚類型。其中每選項的「value」值各自代入一個數字,供程式判斷主題圖磚類型使用。

            <select id="TileList">
                        <option value=1>都市計畫圖</option>
                        <option value=2>非都市土地使用分區圖</option>
                        <option value=3>國土利用調查</option>
                        <option value=4>千分之一地形圖</option>
            </select>

2.     建立主題圖磚物件
        在使用者透過下拉選單來指定主題圖磚類型後,於程式端我們先利用物件TGTileOverlay來建立一個主題圖磚物件

            TileLayer = new TGOS.TGTileOverlay();       //宣告主題圖磚物件

        
接著設定加入主題圖磚時所需要的參數---

            var req = {                                                   //設定主題圖磚需求參數
                        scaleLevel:0,                                           //地圖層級
                        left:140000,                                             //圖磚需求範圍邊界設定為全台灣範圍
                        top:2900000,
                        right:370000,
                        bottom:2400000,
                        map: pMap,                                            //套疊目標TGOnlineMap地圖物件
                        overlay: true                                           //是否套疊主題圖磚
            };

3.     加入主題圖磚
        設定好主題圖磚的基本參數後,接下來要決定該加入TGOS所提供的哪一幅主題圖磚。首先取得網頁介面的下拉選單物件,接著透過選項的value值來定義主題圖磚的樣式。

            if (document.getElementById("TileList").value == 1) {  //取得下拉選單的值                    
                        
TileType= TGOS.TGMapServiceId.CITYZONING;   //依照值來指定主題圖磚的種類
            else if (document.getElementById("TileList").value == 2) {
                        TileType= TGOS.TGMapServiceId.RURALZONING;
            else if (document.getElementById("TileList").value == 3) {
                        TileType= TGOS.TGMapServiceId.LANDUSE;
            else {
                        TileType= TGOS.TGMapServiceId.TOPO1000;
            }

        其中圖磚CITYZONING為都市計畫圖;RURALZONING非都市土地使用分區圖LANDUSE為國土利用調查圖;TOPO1000為千分之一地形圖。
        
最後使用主題圖磚物件TGTileOverlay( )」的方法getThemeTile( )來加入主題圖磚,方法內的第一個參數為圖磚種類;第二參數填入步驟2.所設定的圖磚取得參數;第三參數填入圖磚透明度;第四參數則為callback function,可在其中取得圖磚的坐標陣列及圖磚取用狀態等等。

            TileLayer.getThemeTile(TileType, req, 0.7, function( ){ });

回到上方