JavaScript/Node.js-Beispiel

Wenn Sie die gtfs-realtime-bindings-JavaScript/Node.js-Klassen in Ihrem eigenen Projekt verwenden möchten, müssen Sie zuerst das npm-Paket für Node.js installieren:

npm install gtfs-realtime-bindings

Diese Bindungen sind für die Verwendung in der Node.js-Umgebung vorgesehen, können jedoch mit etwas Aufwand wahrscheinlich auch in anderen JavaScript-Umgebungen eingesetzt werden.

Im folgenden Node-jsCode-Snippet wird veranschaulicht, wie ein GTFS Realtime-Datenfeed von einer bestimmten URL heruntergeladen und als FeedMessage (Stammtyp des GTFS Realtime-Schemas) geparst wird. Anschließend werden die Ergebnisse iteriert.

var GtfsRealtimeBindings = require('gtfs-realtime-bindings');
var request = require('request');

var requestSettings = {
  method: 'GET',
  url: 'URL OF YOUR GTFS-REALTIME SOURCE GOES HERE',
  encoding: null
};
request(requestSettings, function (error, response, body) {
  if (!error && response.statusCode == 200) {
    var feed = GtfsRealtimeBindings.transit_realtime.FeedMessage.decode(body);
    feed.entity.forEach(function(entity) {
      if (entity.trip_update) {
        console.log(entity.trip_update);
      }
    });
  }
});

Weitere Informationen finden Sie auf der JavaScript/Node.js-Projektseite.