JavaScript/Node.js 範例

如要在自己的專案中使用 gtfs-realtime-bindings JavaScript Node.js 類別,請務必先安裝我們的 Node.js npm 套件

npm install gtfs-realtime-bindings

這類繫結是設計用於 Node.js 環境,但只要稍做調整,也許可用於其他 JavaScript 環境。

以下 Node.js 程式碼片段示範如何從特定網址下載 GTFS Realtime 資料動態饋給,並視為 FeedMessage (GTFS Realtime 結構定義的根類型) 進行剖析,然後反覆處理結果。

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);
      }
    });
  }
});

詳情請參閱 JavaScript/Node.js 專案頁面