How to get the closest latitude longitude distance - ARTIKEL SALIM TEKNOLOGI

Latest

Artikel Bermanfaat Untuk Kita Semua

Senin, 31 Oktober 2022

How to get the closest latitude longitude distance


hey, do you guys need this javascript function? if you need you can take it below, I got this function from stackoverflow


code :


function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
  var R = 6371; // Radius of the earth in km
  var dLat = deg2rad(lat2 - lat1); // deg2rad below
  var dLon = deg2rad(lon2 - lon1);
  var a =
    Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.cos(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;
}

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

var centerLat = 52.5167;
var centerLng = 13.3933;

var posts = [{
    name: 'PostA',
    latitude: '52.5167',
    longitude: '13.3833',
  },
  {
    name: 'PostB',
    latitude: '52.9667',
    longitude: '13.7167',
  },
  {
    name: 'PostC',
    latitude: '26.7767',
    longitude: '18.4567',
  }
];

let closePosts = [];

posts.forEach((post) => {
  if (getDistanceFromLatLonInKm(centerLat, centerLng, post.latitude, post.longitude) < 5) {
    closePosts.push(post);
  }
});

console.log(closePosts)

Tidak ada komentar:

Posting Komentar