nakarte

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

commit 516121124e7e98fb77580f08d49cfbb5f8b4097e
parent 746c52b931e33da0fdbec3e1bcf95b91627b74bb
Author: Sergey Orlov <wladimirych@gmail.com>
Date:   Wed, 26 Aug 2020 22:57:17 +0200

tracks: refactor, simplify parsing strava tracks

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

diff --git a/src/lib/leaflet.control.track-list/lib/services/strava.js b/src/lib/leaflet.control.track-list/lib/services/strava.js @@ -24,7 +24,7 @@ class Strava extends BaseService { { url: urlViaCorsProxy(`https://www.strava.com/stream/${trackId}?streams%5B%5D=latlng`), options: { - responseType: 'binarystring', + responseType: 'json', isResponseSuccess } } @@ -40,17 +40,12 @@ class Strava extends BaseService { if (trackResponse.status !== 200) { return [{error: statusMessages[trackResponse.status]}]; } - let data; let name = `Strava ${this.trackId}`; - try { - data = JSON.parse(trackResponse.responseBinaryText); - } catch (e) { - return [{name, error: 'UNSUPPORTED'}]; - } - if (!data.latlng) { + const latlngs = trackResponse.responseJSON?.latlng; + if (!latlngs || !Array.isArray(latlngs)) { return [{name, error: 'UNSUPPORTED'}]; } - const tracks = [data.latlng.map((p) => ({lat: p[0], lng: p[1]}))]; + const tracks = [latlngs.map((p) => ({lat: p[0], lng: p[1]}))]; let dom; try { dom = (new DOMParser()).parseFromString(pageResponse.response, 'text/html');