created API For Aplication Absensi
This commit is contained in:
27
app/helpers/distance.js
Normal file
27
app/helpers/distance.js
Normal file
@@ -0,0 +1,27 @@
|
||||
function getDistance(lat1, lon1, lat2, lon2) {
|
||||
// pastikan semuanya number
|
||||
lat1 = parseFloat(lat1);
|
||||
lon1 = parseFloat(lon1);
|
||||
lat2 = parseFloat(lat2);
|
||||
lon2 = parseFloat(lon2);
|
||||
|
||||
const R = 6371000; // radius bumi dalam meter
|
||||
const toRad = Math.PI / 180;
|
||||
|
||||
const dLat = (lat2 - lat1) * toRad;
|
||||
const dLon = (lon2 - lon1) * toRad;
|
||||
|
||||
const a =
|
||||
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
||||
Math.cos(lat1 * toRad) *
|
||||
Math.cos(lat2 * toRad) *
|
||||
Math.sin(dLon / 2) * Math.sin(dLon / 2);
|
||||
|
||||
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
||||
const distance = R * c;
|
||||
|
||||
return distance;
|
||||
}
|
||||
|
||||
module.exports = { getDistance };
|
||||
|
||||
Reference in New Issue
Block a user