修改显示

main
suixy 2 months ago
parent 8941f352da
commit 3b9c063e44

@ -771,6 +771,29 @@ const getDistanceInMeters = (lon1, lat1, lon2, lat2) => {
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return R * c;
}
function getXYDistanceFromMin(current, minPoint) {
const R = 6371000; //
const toRad = deg => deg * Math.PI / 180;
//
const haversineDistance = (lat1, lon1, lat2, lon2) => {
const dLat = toRad(lat2 - lat1);
const dLon = toRad(lon2 - lon1);
const a =
Math.sin(dLat / 2) ** 2 +
Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon / 2) ** 2;
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return R * c;
};
//
const xDistance = haversineDistance(minPoint.lat, minPoint.lon, minPoint.lat, current.lon);
//
const yDistance = haversineDistance(minPoint.lat, minPoint.lon, current.lat, minPoint.lon);
return {xDistance, yDistance};
}
const processData = (data) => {
// console.log('data',data.ty)
// console.log('FodName', data.FodName)
@ -792,9 +815,10 @@ const processData = (data) => {
}
// console.log(data.Longitude > area.LonMin, data.Longitude < area.LonMax, data.Latitude > area.LatMin, data.Latitude < area.LatMax)
if (data.Longitude > area.LonMin && data.Longitude < area.LonMax && data.Latitude > area.LatMin && data.Latitude < area.LatMax) {
let xAndy = getXYDistanceFromMin({lon: data.Longitude, lat: data.Latitude}, {lon: area.LonMin, lat: area.LatMin})
let location = {
x: getDistanceInMeters(data.Longitude, area.LonMin),
y: getDistanceInMeters(data.Latitude, area.LatMin),
x: xAndy.xDistance,
y: xAndy.yDistance,
rotate: data.HeadingAngle
// rotate: 0
}

Loading…
Cancel
Save