commit d74b948f1c73d805967ab51e4ef304693cf04797
parent 5896fdc429248d886d7a6cabb39f77bf5198bba8
Author: Sergey Orlov <wladimirych@gmail.com>
Date: Thu, 21 May 2020 16:38:05 +0200
tracks: in saveGpx() add option to save elevation for tracks and points
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/lib/leaflet.control.track-list/lib/geo_file_exporters.js b/src/lib/leaflet.control.track-list/lib/geo_file_exporters.js
@@ -55,7 +55,7 @@ function normalizeLines(lines) {
}, []);
}
-function saveGpx(segments, name, points) {
+function saveGpx(segments, name, points, withElevations=false) {
const gpx = [];
const fakeTime = '1970-01-01T00:00:01.000Z';
@@ -71,6 +71,9 @@ function saveGpx(segments, name, points) {
label = utf8.encode(label);
gpx.push(`\t<wpt lat="${marker.latlng.lat.toFixed(6)}" lon="${marker.latlng.lng.toFixed(6)}">`);
gpx.push(`\t\t<name>${label}</name>`);
+ if (withElevations) {
+ gpx.push(`\t\t<ele>${marker.latlng.alt.toFixed(1)}</ele>`);
+ }
gpx.push('\t</wpt>');
}
);
@@ -87,8 +90,9 @@ function saveGpx(segments, name, points) {
for (let point of segment) {
let x = point.lng.toFixed(6);
let y = point.lat.toFixed(6);
+ const elevation = withElevations ? `<ele>${point.alt.toFixed(1)}</ele>ele>` : '';
// time element is not necessary, added for compatibility to Garmin Connect only
- gpx.push(`\t\t\t<trkpt lat="${y}" lon="${x}"><time>${fakeTime}</time></trkpt>`);
+ gpx.push(`\t\t\t<trkpt lat="${y}" lon="${x}"><time>${fakeTime}</time>${elevation}</trkpt>`);
}
gpx.push('\t\t</trkseg>');
}