地標資料圖層套疊與查詢

地標資料圖層套疊與查詢

TGOS擁有相當豐富的在地化資料,其中地標資料由國土測繪中心所提供,資料範圍包含全台灣,並加以分類。由於地標在空間判斷與分析上,是相當重要的參考資訊,地圖應用時也是使用者經常查詢、想要知道其屬性的資料,因此TGOS MAP API (Web)也將地標資訊發布至前端,讓使用者可以取得地標的詳細屬性資料,甚至可以變更地標的圖示樣式。

地標圖層藉由TGOS. TGVectorTilePoiLayer()物件開啟,並設定要套疊圖層的地圖物件、圖層資訊內容、物件參數等。

VectorTiledLayer = new TGOS.TGVectorTilePoiLayer("Vector Tile Layer", pMap, info, opts);  //建立地標圖層物件

 

地標屬性的顯示內容,由info這項參數設定,其中attrFields陣列中,列舉要顯示的屬性內容,若此項不設定,則會展示預設的屬性資訊,包含類別、名稱、地址、電話、縣市、鄉鎮、XY坐標值等。在範例中,相關設定已經被標註,所以顯示預設資訊,可以自行進行修改。

var info = {

                /*

                attrFields: [

                    { name: "ADDRESS", alias: "地址" },

                    { name: "MARKNAME1", alias: "名稱" }

                ] // 點選 (click) , 顯示的欄位, 若未指定則會全部顯示.

                */

            };

 

圖層物件的相關屬性在opts參數中,包含是否可以查詢、圖層開關、透明度、訊息視窗大小位置等,並可以利用pointSymbol來改變每個類別的標記圖示。在範例中,標記圖示變更的相關設定已被標註,所以顯示預設的標記圖示,可以自行修改。

var opts = {

                queryable: true//查詢開關

                visible: true,  //圖層開關

                opacity: 1.0,

                           infoWindowOptions: infoWindowOptions,  // 點選 (click) , 顯示的 InfoWindow 設定值

                /*pointSymbol: {

                   field1: "MARKTYPE",

                   field2: "MARKNAME1",

                   symbols: {

                        "99630"  : university,

                        "99631"  : university,

                        "99614"  : university,

                        "99611"  : university,

                        "99613A" : university,

                        "99640"  : university,

                        "99311"  : university

                   }

                }*/

           };

 

 

也可以使用hideInfo()setVisible()setQueryable()等方法,改變地標圖層是否隱藏訊息、是否顯示、是否可以點擊查詢等設定。另外,若取回資訊不希望進行展示,僅需地標資料坐進一步後續利用,則可使用setClickCallback()方法,API將回應被點擊地標的相關資訊字串,可自行以程式進行解譯。

回到上方