Widget:GTform
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script> var directions = new google.maps.DirectionsService(); var renderer = new google.maps.DirectionsRenderer(); var map, transitLayer;
function initialize() { var mapOptions = { zoom: 5, center: new google.maps.LatLng(38.6, -114.6), mapTypeId: google.maps.MapTypeId.ROADMAP };
map = new google.maps.Map(document.getElementById('map'), mapOptions);
google.maps.event.addDomListener(document.getElementById('go'), 'click', route);
transitLayer = new google.maps.TransitLayer();
var control = document.getElementById('transit-wpr');
google.maps.event.addDomListener(control, 'click', function() { transitLayer.setMap(transitLayer.getMap() ? null : map); });
addDepart(); route(); }
function addDepart() { var depart = document.getElementById('depart'); for (var i = 0; i < 24; i++) { for (var j = 0; j < 60; j += 15) { var x = i < 10 ? '0' + i : i; var y = j < 10 ? '0' + j : j; depart.innerHTML += '<option>' + x + ':' + y + '</option>'; } } }
function route() { var departure = document.getElementById('depart').value; 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 request = { origin: document.getElementById('from').value, destination: document.getElementById('to').value, travelMode: google.maps.DirectionsTravelMode.TRANSIT, provideRouteAlternatives: true, transitOptions: { departureTime: departureTime } };
var panel = document.getElementById('panel'); panel.innerHTML = ; directions.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { renderer.setDirections(response); renderer.setMap(map); renderer.setPanel(panel); } else { renderer.setMap(null); renderer.setPanel(null); } });
}
google.maps.event.addDomListener(window, 'load', initialize); </script>
Transit directions
<label>from:</label> <input class="input" id="from" value="">
<label>to:</label> <input class="input" id="to" value="">
Depart at <select id="depart"></select>
<button id="go">Get Directions</button>