Difference between revisions of "Widget:GTform"
m |
m |
||
Line 10: | Line 10: | ||
<div style="display:inline-block;margin:2px 0 2px 0;"><label>to</label> | <div style="display:inline-block;margin:2px 0 2px 0;"><label>to</label> | ||
<input class="input" id="to" value=""><span id="tonote" style="display:none;">where I am at</span>.</div> | <input class="input" id="to" value=""><span id="tonote" style="display:none;">where I am at</span>.</div> | ||
− | <div style="margin:2px;"> | + | <div style="margin:2px;"> <form id="triptime" style="display:inline;" > |
+ | <input type="radio" name="triptime" value="depart" checked> Departing | ||
+ | <input type="radio" name="triptime" value="arrive"> arriving at | ||
+ | </form> | ||
<select id="depart"> | <select id="depart"> | ||
+ | <option value="now" selected>Now</option> | ||
<option value="03:00">3:00 am</option> | <option value="03:00">3:00 am</option> | ||
<option value="03:30">3:30 am</option> | <option value="03:30">3:30 am</option> | ||
Line 22: | Line 26: | ||
<option value="06:30">6:30 am</option> | <option value="06:30">6:30 am</option> | ||
<option value="06:45">6:45 am</option> | <option value="06:45">6:45 am</option> | ||
− | <option value="07:00" | + | <option value="07:00">7:00 am</option> |
<option value="07:15">7:15 am</option> | <option value="07:15">7:15 am</option> | ||
<option value="07:30">7:30 am</option> | <option value="07:30">7:30 am</option> | ||
Line 168: | Line 172: | ||
function route() { | function route() { | ||
+ | var triptime = $('input[name="triptime"]:checked', '#triptime').val(); | ||
var departure = document.getElementById('depart').value; | var departure = document.getElementById('depart').value; | ||
− | var bits = departure.split(':'); | + | if (departure=='now') { |
− | + | var departureTime = null; | |
− | + | var arrivalTime = null; | |
+ | } else { | ||
+ | var bits = departure.split(':'); | ||
+ | var now = new Date(); | ||
+ | var tzOffset = (now.getTimezoneOffset() + 60) * 60 * 1000; | ||
− | + | var time = new Date(); | |
− | + | time.setHours(bits[0]); | |
− | + | time.setMinutes(bits[1]); | |
− | + | var ms = time.getTime(); | |
− | + | if (ms < now.getTime()) { | |
− | + | ms += 24 * 60 * 60 * 1000; | |
+ | } | ||
+ | |||
+ | var departureTime = new Date(ms); | ||
+ | var arrivalTime = null; | ||
+ | if (triptime == 'arrive') { | ||
+ | arrivalTime = departureTime; | ||
+ | departureTime = null; | ||
+ | } | ||
} | } | ||
− | |||
− | |||
− | |||
var request = { | var request = { | ||
origin: document.getElementById('from').value, | origin: document.getElementById('from').value, | ||
Line 190: | Line 204: | ||
provideRouteAlternatives: true, | provideRouteAlternatives: true, | ||
transitOptions: { | transitOptions: { | ||
− | departureTime: departureTime | + | departureTime: departureTime, |
+ | arrivalTime: arrivalTime | ||
} | } | ||
}; | }; |