坐標查詢最近鄰地址
坐標查詢最近鄰地址
提供使用者可以利用滑鼠點擊圖面的方式,查詢距離點擊處最近的地址。例如當使用者不確定某個地方的詳細地址,但是知道其在圖面上的位置時,便可以使用此功能查詢目標地點的坐標數值以及地址,僅需將地圖畫面平移至欲查詢的位置,然後利用滑鼠進行點擊,便可令使用者獲得其點擊處最接近之地址。
function xyAddr(){
var px = parseFloat(document.getElementById("x").value);
var py = parseFloat(document.getElementById("y").value);
var InfoWindowOptions = {
maxWidth: 200,
zIndex: 0
};
var MakerOptions = {
clickable: false,
draggable: false,
flat: false
};
if (messageBox) {
messageBox.close(pMap);
}
if (addrMarker != null){
addrMarker.setMap(null);
}
if (clickMarker != null){
clickMarker.setMap(null);
}
var addrpt = new TGOS.TGPoint(px, py); //將滑鼠點擊位置轉為TGOS Point點資料
addrlocate.nearestAddress (addrpt, TGOS.TGCoordSys.EPSG3826, //利用滑鼠點擊位置查詢最鄰近地址
function(result, status){
//console.result;
//var level = pMap.getZoom(); //取得目前地圖層級
var addrcon = result.formattedAddress; //取得最鄰近地址查詢結果
var addrpoint = result.geometry.location;
var message = "X坐標: " + px + "<br>Y坐標: " + py + "<br>鄰近地址:" + addrcon; //組合顯示訊息
messageBox = new TGOS.TGInfoWindow(message, addrpt, InfoWindowOptions); //在點擊位置上開啟訊息窗格, 並寫入坐標及地圖層級
messageBox.open(pMap);
clickMarker = new TGOS.TGMarker(pMap, addrpt, '點擊位置', markerImg1, MakerOptions);
addrMarker = new TGOS.TGMarker(pMap, addrpoint, '地址位置', markerImg, MakerOptions);
});
}