diff options
| author | Zog | 2018-01-29 16:56:06 +0100 |
|---|---|---|
| committer | Zog | 2018-02-01 13:48:40 +0100 |
| commit | ae336476f64254727caf2e447f444fd17f0513f1 (patch) | |
| tree | a14d2657d29880371c190d60ef1a637ecd7982a4 /app/javascript/helpers | |
| parent | d9adc803f075c8136871e86b3ddbdd01ac217967 (diff) | |
| download | chouette-core-ae336476f64254727caf2e447f444fd17f0513f1.tar.bz2 | |
Refs #5762; Update JS to accomodate stops without location
Diffstat (limited to 'app/javascript/helpers')
| -rw-r--r-- | app/javascript/helpers/routes_map.coffee | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/app/javascript/helpers/routes_map.coffee b/app/javascript/helpers/routes_map.coffee index 85def1390..6834406fc 100644 --- a/app/javascript/helpers/routes_map.coffee +++ b/app/javascript/helpers/routes_map.coffee @@ -30,20 +30,24 @@ class RoutesMap geometry: new ol.geom.Point(ol.proj.fromLonLat([parseFloat(stops[stops.length - 1].longitude), parseFloat(stops[stops.length - 1].latitude)])) }) ] + + prevStop = null stops.forEach (stop, i) => - if i < stops.length - 1 - geoColLns.push new ol.Feature - geometry: new ol.geom.LineString([ - ol.proj.fromLonLat([parseFloat(stops[i].longitude), parseFloat(stops[i].latitude)]), - ol.proj.fromLonLat([parseFloat(stops[i + 1].longitude), parseFloat(stops[i + 1].latitude)]) - ]) + if stop.longitude && stop.latitude + if prevStop + geoColLns.push new ol.Feature + geometry: new ol.geom.LineString([ + ol.proj.fromLonLat([parseFloat(prevStop.longitude), parseFloat(prevStop.latitude)]), + ol.proj.fromLonLat([parseFloat(stop.longitude), parseFloat(stop.latitude)]) + ]) + prevStop = stop - geoColPts.push(new ol.Feature({ - geometry: new ol.geom.Point(ol.proj.fromLonLat([parseFloat(stop.longitude), parseFloat(stop.latitude)])) - })) - unless @seenStopIds.indexOf(stop.stoparea_id) > 0 - @area.push [parseFloat(stop.longitude), parseFloat(stop.latitude)] - @seenStopIds.push stop.stoparea_id + geoColPts.push(new ol.Feature({ + geometry: new ol.geom.Point(ol.proj.fromLonLat([parseFloat(stop.longitude), parseFloat(stop.latitude)])) + })) + unless @seenStopIds.indexOf(stop.stoparea_id) > 0 + @area.push [parseFloat(stop.longitude), parseFloat(stop.latitude)] + @seenStopIds.push stop.stoparea_id vectorPtsLayer = new ol.layer.Vector({ source: new ol.source.Vector({ |
