diff --git a/front/index.js b/front/index.js index 414eea1..4334e1b 100644 --- a/front/index.js +++ b/front/index.js @@ -42,31 +42,25 @@ fetch(SERVER + '/network').then(res => res.json()).then(network => { const stopPoints = Object.entries(network.stops) .map(([stopId, stop]) => - { - const feature = new Feature({ + new Feature({ type: 'stop', color: network.lines[stop.lines[0]].color, geometry: new Point(proj.fromLonLat([stop.lon, stop.lat])), - }); + }) + ); - feature.setId(stopId); - return feature; - }); - - const segmentLines = Object.entries(network.segments) - .map(([segmentId, segment]) => - { - const feature = new Feature({ - type: 'segment', - color: network.lines[segment.lines[0]].color, - geometry: new LineString(segment.nodes.map( - ({lat, lon}) => proj.fromLonLat([lon, lat]) - )), - }); - - feature.setId(segmentId); - return feature; - }); + const segmentLines = Object.values(network.lines) + .flatMap(({color, routes}) => + routes.map(({segments}) => + new Feature({ + type: 'segment', + color, + geometry: new LineString(segments.flat().map( + ({lat, lon}) => proj.fromLonLat([lon, lat]) + )), + }) + ) + ); dataSource.addFeatures( stopPoints.concat(segmentLines)