3/03/2558

หาระยะห่างระหว่างสองตำแหน่งละติจูดลองติจูด



สำหรับการทำ Location Based Application นั้นย่อมมี ตำแหน่งละติจูด ลองตจูดเข้ามาเกี่ยวข้อง ถ้าต้องการที่จะหาระยะห่างระหว่างสองตำแหน่งเราสามารถใช้ function ในการหาได้ดังนี้

//function หาระยะทางระหว่างสอง ละติจูด ลองติจูด
function get_distance(lat1,lon1,lat2,lon2) {
  var R = 6371;
  var dLat = (lat2-lat1)* (Math.PI/180);
  var dLon = (lon2-lon1)* (Math.PI/180);
  var a =
    Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(lat1* (Math.PI/180)) * Math.cos(lat2* (Math.PI/180)) *
    Math.sin(dLon/2) * Math.sin(dLon/2)
    ;
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
  var d = R * c; // ผลลัพธ์เป็น km
  return d;
}


//ตัวอย่างการเรียกใช้ function
var distince;
distince=get_distance(13.75672638963174,100.49458265304565,13.752474554298313,100.49338102340698);
document.write(distince);//ผลลัพธ์ 0.4902724239365899