@@ -9,6 +9,7 @@ if (typeof (fetch) === 'undefined') {
9
9
}
10
10
11
11
import { queryIsValid } from '../util/state'
12
+ import { isTransit , isAccessMode , isCar } from '../util/itinerary'
12
13
13
14
// Itinerary Query
14
15
@@ -113,6 +114,22 @@ export function profileTrip (customOtpQueryBuilder) {
113
114
function constructProfileQuery ( api , query ) {
114
115
const planEndpoint = `${ api . host } ${ api . port ? ':' + api . port : '' } ${ api . path } /plan`
115
116
const { mode, startTime, endTime, date } = query
117
+
118
+ const accessModes = [ ]
119
+ const directModes = [ ]
120
+ const transitModes = [ ]
121
+
122
+ if ( mode && mode . length > 0 ) {
123
+ mode . split ( ',' ) . forEach ( m => {
124
+ if ( isTransit ( m ) ) transitModes . push ( m )
125
+ if ( isAccessMode ( m ) ) {
126
+ accessModes . push ( m )
127
+ // make configurable whether direct-driving is considered
128
+ if ( ! isCar ( m ) ) directModes . push ( m )
129
+ }
130
+ } )
131
+ }
132
+
116
133
const params = {
117
134
date,
118
135
startTime,
@@ -125,9 +142,9 @@ function constructProfileQuery (api, query) {
125
142
lat : query . to . lat ,
126
143
lon : query . to . lon
127
144
} ,
128
- accessModes : 'WALK,BICYCLE' ,
129
- directModes : 'WALK,BICYCLE,BICYCLE_RENT' ,
130
- transitModes : 'BUS,TRAM'
145
+ accessModes : accessModes . join ( ',' ) ,
146
+ directModes : directModes . join ( ',' ) ,
147
+ transitModes : transitModes . join ( ',' )
131
148
}
132
149
const stringParams = qs . stringify ( params )
133
150
// TODO: set url hash based on params
0 commit comments