坐標查詢最近鄰地址

坐標查詢最近鄰地址

提供使用者可以利用滑鼠點擊圖面的方式,查詢距離點擊處最近的地址。例如當使用者不確定某個地方的詳細地址,但是知道其在圖面上的位置時,便可以使用此功能查詢目標地點的坐標數值以及地址,僅需將地圖畫面平移至欲查詢的位置,然後利用滑鼠進行點擊,便可令使用者獲得其點擊處最接近之地址。

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);

});

}

 

 

回到上方