nextbus.js
A reasonable interface to nextbus written in Javascript, targeting both Appcelerator Titanium and Node.JS.
First npm install nextbusjs
. Then:
var rutgers = require('nextbusjs').client(); rutgers.cacheAgency('rutgers', function (err) { if (err) { throw err; } else { rutgers.routePredict('a', null, function (err, data) { // data will contain: [ { title: 'Scott Hall', predictions: [ '8', '19', '31', '43', '54' ] }, { title: 'Student Activities Center', predictions: [ '12', '23', '35', '47', '58' ] }, { title: 'Visitor Center', predictions: [ '3', '16', '27', '39', '51' ] }, { title: 'Stadium', predictions: [ '4', '17', '28', '40', '52' ] }, { title: 'Werblin Back Entrance', predictions: [ '6', '19', '30', '42', '54' ] }, { title: 'Hill Center', predictions: [ '7', '20', '31', '43', '55' ] }, { title: 'Science Building', predictions: [ '8', '22', '33', '45', '57' ] }, { title: 'Library of Science', predictions: [ '10', '23', '34', '46', '58' ] }, { title: 'Busch Suites', predictions: [ '1', '12', '25', '36', '48' ] }, { title: 'Busch Campus Center', predictions: [ '2', '13', '27', '38', '50' ] }, { title: 'Buell Apartments', predictions: [ '4', '15', '28', '39', '51' ] }, { title: 'Werblin Main Entrance', predictions: [ '5', '16', '29', '40', '52' ] }, { title: 'Rutgers Student Center', predictions: [ '10', '21', '34', '45', '57' ] } ] }, 'minutes'); rutgers.stopPredict('Hill Center', null, function (err, data) { // data will contain: [ { direction: 'To Busch Student Center', title: 'A', predictions: [ '7', '20', '31', '43', '55' ] }, { direction: 'To Busch Student Center', title: 'B', predictions: [ '8', '16', '22', '30', '38' ] }, { direction: 'To Allison Road Classrooms', title: 'C', predictions: null }, { direction: 'To Allison Road Classrooms', title: 'REX B', predictions: [ '6', '20', '23', '35', '47' ] }, { direction: 'To Livingston Student Center', title: 'All Campuses', predictions: null }, { direction: 'To Livingston Student Center', title: 'Weekend 1', predictions: null }, { direction: 'To Stadium West Lot', title: 'C', predictions: null }, { direction: 'To Rutgers Student Center', title: 'H', predictions: [ '1', '13', '24', '36', '48' ] }, { direction: 'To College Hall', title: 'REX B', predictions: [ '0', '12', '24', '35', '47' ] }, { direction: 'To Rutgers Student Center', title: 'Weekend 2', predictions: null } ] }, 'minutes'); var nearest = rutgers.closestStops(40.40264, -74.3840120); //{ 'Rutgers Student Center': 7, // 'Student Activities Center': 6, // 'Scott Hall': 5 } } });
Documentation
A short tutorial of the features is available on the wiki.
License
MIT.