地標資料圖層套疊與查詢
地標資料圖層套疊與查詢
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將回應被點擊地標的相關資訊字串,可自行以程式進行解譯。