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:
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'}];
}