基本屬性查詢
基本屬性查詢
當主題地圖疊加於地圖平台上時,允許使用者針對圖徵屬性內容查詢,取得該圖徵其餘屬性及空間資料,此功能即基本屬性查詢。使用基本屬性查詢功能時,亦會運用主題地圖等其餘API功能,可供基本屬性查詢之主題地圖詳細清單如下方表格。而在以下說明中,將只針對基本屬性查詢功能介紹,如何引用主題地圖並疊加至圖台上,請參考詳細之程式範例。
function AttriQueryClick(){
var Query = newTGOS.TEAttriQuery();
var txtBox = document.getElementById("msg");
txtBox.innerHTML = "";
strs = "";
if (markers.length > 0) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers = [];
}
var CN = document.getElementById("CityName").value;
var TN = document.getElementById("TownName").value;
var KW = document.getElementById("Keyword").value;
var queryRequst = {
county: CN,
town: TN,
keyword: KW
};
Query.identify(TGOS.TEMapServiceId.SHELTERS, TGOS.TEMapId.SHELTERS, queryRequst, TGOS.TECoordSys.EPSG3857, function(result, status){
if (status == TGOS.TEQueryStatus.ZERO_RESULTS) {
txtBox.innerHTML = '查無結果';
return;
} else {
var attris = result.fieldAttr;
for (i = 0; i < attris.length; i++) {
var str = 'ID: ' + attris[i][0] + '; Name: ' + attris[i][1] + '; Address: ' + attris[i][4] + " " + '<input type="button" value="定位" onclick="locate(' + parseFloat(attris[i][9]) + ',' + parseFloat(attris[i][10]) + ');">' +'<br>';
strs += str;
var tip = attris[i][1];
var marker = newTGOS.TEMarker(tg3dEarth,newTGOS.TEPoint(attris[i][9], attris[i][10]), tip,null,null);
markers.push(marker);
}
}
txtBox.innerHTML = strs;
});
}
function locate(x, y){
var vp = newTGOS.TEViewpoint(x, y, 5000, 0,0);
tg3dEarth.setViewpoint(vp);
}
可供基本屬性查詢之主題地圖服務代碼、圖層代碼以及使用授權類別如下表: