ตรวจสอบระยะห่างระหว่างสองตำแหน่งบน Google Maps

หากเราต้องการจะตรวจสอบระยะห่างของตำแหน่ง 2 ตำแหน่ง ว่าอยู่ห่างกันเท่าไร เราสามารถเขียน Function มาตรวจสอบได้ง่าย ๆ ครับ

จาก Code ตัวอย่าง เราแค่กำหนด Lat, Long ของสองตำแหน่งที่เราต้องการเช็คระยะห่าง Function จะรีเทิร์นค่าที่ได้จากการคำนวณออกมาให้อย่างง่ายดายเลยครับ

getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
    var R = 6371; // Radius of the earth in km
    var dLat = this.deg2rad(lat2-lat1);  // deg2rad below
    var dLon = this.deg2rad(lon2-lon1); 
    var a = 
      Math.sin(dLat/2) * Math.sin(dLat/2) +
      Math.cos(this.deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
      Math.sin(dLon/2) * Math.sin(dLon/2)
      ; 
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    var d = R * c; // Distance in km
    return d;
   }

  deg2rad(deg) {
    return deg * (Math.PI/180)
   }

Credit:  StackOverflow

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *

Share
Tweet
Pin
+1
Share
0 Shares