Google Maps Distance & Time

by Cory Hughes

HTML

<script src="https://maps.google.com/maps/api/js?sensor=false&amp;v=3&amp;libraries=geometry"></script>

JavaScript

var loca = new google.maps.LatLng(43.9218592, -78.9395312);
var locb = new google.maps.LatLng(43.872908, -78.948214);
var locc = new google.maps.LatLng(43.681040, -79.417253);

var directionsService = new google.maps.DirectionsService();

var request1 = {
    origin: loca, // LatLng|string
    destination: locb, // LatLng|string
    travelMode: google.maps.DirectionsTravelMode.DRIVING
};

var request2 = {
    origin: locb, // LatLng|string
    destination: locc, // LatLng|string
    travelMode: google.maps.DirectionsTravelMode.DRIVING
};

var route1;
var route2;

directionsService.route(request1, function(response, status) {

    if (status === 'OK') {

        route1 = response.routes[0].legs[0];

        directionsService.route(request2, function(response, status) {

            if (status === 'OK') {
                route2 = response.routes[0].legs[0];
                alert('Estimated travel time A-B: ' + route1.duration.text + ' (' + route1.distance.text + ')' + "\nEstimated travel time B-C: " + route2.duration.text + ' (' + route2.distance.text + ')');
            }
        });
    } else {
		alert("Oh Shit... that didn't work...");
	}
});