nakarte

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

commit a26f01b8ccd8d8dd0c13955d378f47effa4135f0
parent 4c153aad29aab7f3e1f9dc6ffdffbcfb0ee5e40c
Author: myadzel <myadzel@gmail.com>
Date:   Thu, 24 Jan 2019 10:57:57 +0300

read waypoints in movescount route parsing #213

Diffstat:
Mpackage.json | 4+++-
Msrc/lib/leaflet.control.track-list/lib/services/movescount.js | 26++++++++++++++++++--------
2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/package.json b/package.json @@ -10,6 +10,7 @@ "babel-plugin-transform-async-generator-functions": "^6.22.0", "babel-plugin-transform-class-properties": "^6.23.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-es2015": "^6.22.0", "babel-preset-es2016": "^6.22.0", "babel-preset-es2017": "^6.22.0", @@ -83,7 +84,8 @@ "plugins": [ "transform-es2015-modules-commonjs", "transform-async-generator-functions", - "transform-class-properties" + "transform-class-properties", + "transform-object-rest-spread" ] }, "eslintConfig": { diff --git a/src/lib/leaflet.control.track-list/lib/services/movescount.js b/src/lib/leaflet.control.track-list/lib/services/movescount.js @@ -1,9 +1,8 @@ import BaseService from './baseService'; import urlViaCorsProxy from 'lib/CORSProxy'; +import utf8 from 'utf8'; class MovescountBase extends BaseService { - // urlRe = null; - isOurUrl() { return this.urlRe.test(this.origUrl); } @@ -32,20 +31,31 @@ class MovescountRoute extends MovescountBase { let data; let name = `Movescount route ${this.trackId}`; try { - data = JSON.parse(response.responseBinaryText) + data = JSON.parse(utf8.decode(response.responseBinaryText)); } catch (e) { return [{name, error: 'UNSUPPORTED'}]; } - const track = data.points.latitudes.map((lat, i) => ({ - lat, + + let points = []; + let track = []; + + for (let i = 0; i < data.points.latitudes.length; i++) { + const latlng = { + lat: data.points.latitudes[i], lng: data.points.longitudes[i] - }) - ); + }; + track.push(latlng); + const point = data.points.data[i]; + if (point) { + points.push({ ...latlng, name: point.name }); + } + } name = data.routeName ? data.routeName : name; return [{ name, + points, tracks: [track] }]; } @@ -83,7 +93,7 @@ class MovescountMove extends MovescountBase { let data; let name = `Movescount move ${this.trackId}`; try { - data = JSON.parse(trackResponse.responseBinaryText) + data = JSON.parse(utf8.decode(trackResponse.responseBinaryText)); } catch (e) { return [{name, error: 'UNSUPPORTED'}]; }