Transit lines

by Frank van Puffelen

HTML

<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script src="https://cdn.firebase.com/js/client/1.0.18/firebase.js"></script>
<script src="https://www.firebase.com/resources/js/publicdata/transit.js"></script>

JavaScript

// Lookup all buses on line "X".
    var transitLine = "5";
    var transitRef = new Firebase("https://publicdata-transit.firebaseio.com/ttc");
    var lineIndex = transitRef.child("routes").child(transitLine);

    lineIndex.on("child_added", function (snapshot) {
        var id = snapshot.name();
        transitRef.child("vehicles").child(id).on("value", busUpdated);
    });
    lineIndex.on("child_removed", function (snapshot) {
        var id = snapshot.name();
        transitRef.child("vehicles").child(id).off("value", busUpdated);
    });

    function busUpdated(snapshot) {
        // Bus line "X" changed location.
        var info = snapshot.val();
        console.log(info);
        // Retrieve latitude/longitude with info.lat/info.lon.
    }