Fixed GPX parsing for time and elevation data

This commit is contained in:
Atharva Sawant
2024-11-12 20:15:33 +05:30
parent f6cd4da529
commit b7ef21a226

View File

@@ -21,8 +21,8 @@ export const parseGPXFile = async (file) => {
const points = segment.trkpt?.map(point => ({
lat: parseFloat(point.$.lat),
lng: parseFloat(point.$.lon),
elevation: point.ele ? parseFloat(point.ele[0]) : null,
time: point.time ? point.time[0] : null
elevation: point.ele ? parseFloat(point.ele) : null,
time: point.time ? point.time : null
})) || []
return { points }
}) || []
@@ -123,7 +123,7 @@ const calculateTrackStats = (track) => {
segment.points.forEach(point => {
// Track time bounds
if (point.time) {
const pointTime = new Date(point.time)
const pointTime = point.time instanceof Date ? point.time : new Date(point.time)
if (!startTime || pointTime < startTime) startTime = pointTime
if (!endTime || pointTime > endTime) endTime = pointTime
}