點環域查詢
點環域查詢
允許使用者自訂查詢點位、查詢半徑,以取得指定之主題地圖,在此查詢範圍內所有圖徵之屬性及空間資料,此功能即點環域查詢。使用點環域查詢功能時,亦會運用主題地圖等其餘API功能,可供點環域查詢之主題地圖詳細清單如下方表格。而在以下說明中,將只針對點環域查詢功能介紹,如何引用主題地圖並疊加至圖台上,請參考詳細之程式範例。
var BufferArea = null;
var Query = new TGOS.TGPointBuffer(); //建立TGPointBuffer物件, 準備執行環域查詢使用
function buffer() {
TGOS.TGEvent.addListener(pMap, "click", function(tEvent) {
//建立滑鼠地圖點擊事件監聽器
var queryRequst = { //設定點環域查詢條件, 包含圓心(pt)及半徑(radius)
position: pt,
distance: radius
};
Query.identify(TGOS.TGMapServiceId.SHELTERS, TGOS.TGMapId.SHELTERS,
queryRequst, TGOS.TGCoordSys.EPSG3826, function(result, status){
//使用方法identify進行點環域查詢, 輸入參數包含欲查詢的服務、欲查詢的圖層、
//點環域參數、坐標系統及查詢後的函式, result及status分別代表查詢結果及查詢狀態
if (status == TGOS.TGBufferStatus.ZERO_RESULTS) { //判斷查詢結果是否為查無結果
alert('此範圍查無結果');
return;
} else { //若查詢產生結果, 則執行以下函式
var attris = result.fieldAttr; //取得圖徵屬性
var pts = result.position; //取得圖徵點位
for (var i = 0; i < pts.length; i++) {
var str = 'ID: ' + attris[i][0] + '; Name: ' + attris[i][1]
+ '; Address: ' + attris[i][4];
//建立迴圈後, 以字串方式組合屬性結果, attris[0]為查詢到的第一個圖徵,
//attris[0][0]為第一個圖徵的第一個屬性, 依此類推
var marker = new TGOS.TGMarker(pMap, pts[i], str);
//在迴圈內建立TGMarker物件, 將查詢到的所有主題圖徵繪出
markers.push(marker); //將標記點加入到markers陣列
}
}
});
});
}
可供點環域查詢之主題地圖服務代碼、圖層代碼以及使用授權類別如下表: