jagd-apps/drohnenfuehrer/frontend/src/utils/helpers.js

36 lines
1.1 KiB
JavaScript

export const formatPhoneNumber = (phone) => {
if (!phone) return '';
return phone.replace(/(\d{2})(\d{4})(\d+)/, '$1-$2-$3');
};
export const validateGPS = (lat, lng) => {
const latNum = parseFloat(lat);
const lngNum = parseFloat(lng);
if (isNaN(latNum) || isNaN(lngNum)) {
return { valid: false, message: 'Ungültige GPS-Koordinaten' };
}
if (latNum < -90 || latNum > 90) {
return { valid: false, message: 'Latitude muss zwischen -90 und 90 liegen' };
}
if (lngNum < -180 || lngNum > 180) {
return { valid: false, message: 'Longitude muss zwischen -180 und 180 liegen' };
}
return { valid: true };
};
export const calculateDistance = (lat1, lng1, lat2, lng2) => {
const R = 6371; // Radius der Erde in km
const dLat = (lat2 - lat1) * Math.PI / 180;
const dLng = (lng2 - lng1) * Math.PI / 180;
const a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
Math.sin(dLng/2) * Math.sin(dLng/2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
return R * c;
};