nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit b17073d8d4ec5ee05fd44726263fa4514e69b99f
parent cbdc528d5e94d3059a83a62061a709961409da18
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Sat, 13 May 2023 12:44:41 +0200

tracks: fix loading Garmin routes without waypoints

Diffstat:
Msrc/lib/leaflet.control.track-list/lib/services/garmin.js | 24++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/lib/services/garmin.js b/src/lib/leaflet.control.track-list/lib/services/garmin.js @@ -35,13 +35,23 @@ class GarminRoute extends GarminBase { if (!data) { return [{name, error: 'UNSUPPORTED'}]; } - let points = data.coursePoints.map((pt) => ({name: pt.name, lat: pt.lat, lng: pt.lon})); - let track = data.geoPoints.map((obj) => ({lat: obj.latitude, lng: obj.longitude})); + let points = null; + let tracks = []; + try { + if (data.coursePoints) { + points = data.coursePoints.map((pt) => ({name: pt.name, lat: pt.lat, lng: pt.lon})); + } + if (data.geoPoints) { + tracks = [data.geoPoints.map((obj) => ({lat: obj.latitude, lng: obj.longitude}))]; + } + } catch { + return [{name, error: 'UNSUPPORTED'}]; + } name = data.courseName ? data.courseName : name; return [{ name, points, - tracks: [track] + tracks: tracks, }]; } } @@ -77,7 +87,13 @@ class GarminActivity extends GarminBase { if (!data) { return [{name, error: 'UNSUPPORTED'}]; } - let track = data.geoPolylineDTO.polyline.map((obj) => ({lat: obj.lat, lng: obj.lon})); + let track; + try { + track = data.geoPolylineDTO.polyline.map((obj) => ({lat: obj.lat, lng: obj.lon})); + } catch { + return [{name, error: 'UNSUPPORTED'}]; + } + return [{ name, tracks: [track]