KML資料解譯與樣式設計
API使用範例:KML資料解譯與樣式設計
情境假設:
KML是一個已被廣泛使用的地理資訊資料格式,本範例展示當使用者想透過TGOS MAP來套疊展示KML資料時,便可使用呼叫TGOS MAP API中的TGKmlLayer方法來疊加KML格式的檔案,此外也可透過該方法將載入的資料內容針對各別圖徵設定樣式,以豐富資料呈現方式與效果。
TGOS MAP API建置方式:
1.以TGOS.TGOnlineMap建立初始化地圖圖台。
var map = null;
var kmlLayer = null;
function main() {
var pOMap = document.getElementById("TGMap");
map = new TGOS.TGOnlineMap(pOMap, TGOS.TGCoordSys.EPSG3826);
}
2.建立載入KML檔案的方法,以TGOS.TGKmlLayer呼叫檔案路徑中的KML檔案,設置參數可參考TGKmlLayer的方法說明。
function addkml() {
kmlLayer = new TGOS.TGKmlLayer('https://api.tgos.tw/TGOS_API/wrarb.kml', {
map: map,
suppressInfoWindows: false,
preserveViewport: true
},null);
}
3.建立設定KML檔案中的圖徵樣式的方法,透過不同的屬性欄位名稱來設置該屬性圖徵樣式。
function setStyle()
{
for(var i = 0; i < kmlLayer.polygons.length; i++)
{
if(kmlLayer.polygons[i].targetPlacemark.name == "北區水資源局")
{
kmlLayer.polygons[i].setFillColor("#FFFFFF");
}
else if(kmlLayer.polygons[i].targetPlacemark.name == "中區水資源局")
{
kmlLayer.polygons[i].setStrokeColor("#00FF00");
}
else
{
kmlLayer.polygons[i].setStrokeWeight(10);
}
}
}