//This function takes in latitude and longitude of two location and returns the distance between them as the crow flies (in km) function CoordDistance(lat1: number, lon1: number, lat2: number, lon2: number) { const R = 6371; // km const dLat = toRad(lat2 - lat1); const dLon = toRad(lon2 - lon1); const lat1_calc = toRad(lat1); const lat2_calc = toRad(lat2); const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1_calc) * Math.cos(lat2_calc); const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); const d = R * c; return d; } // Converts numeric degrees to radians function toRad(value: number) { return (value * Math.PI) / 180; } export function handleDistanceCoord( lat1: number, lon1: number, lat2: number, lon2: number, ) { const distance = CoordDistance(lat1, lon1, lat2, lon2); if (distance < 1) { return `~${Math.round(distance * 1000)} m`; } return `~${Math.round(distance)} km`; }