【发布时间】:2017-11-30 17:09:43
【问题描述】:
我想使用此页面上的任何 Feed URL https://www.mbta.com/developers/gtfs-realtime
我在一个新的项目文件夹中添加了依赖项。然后使用来自github项目页面https://github.com/google/gtfs-realtime-bindings/tree/master/nodejs的代码sn-p创建了一个文件app.js
所以我的 app.js 文件看起来像这样......
var GtfsRealtimeBindings = require('gtfs-realtime-bindings');
var request = require('request');
var requestSettings = {
method: 'GET',
url: 'http://developer.mbta.com/lib/GTRTFS/Alerts/TripUpdates.pb',
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);
}
});
}
});
但是,当我输入“node app.js”时,我不断收到以下错误消息
TypeError: Cannot read property 'FeedMessage' of undefined
at Request._callback (C:\wamp64\www\dev\gtfs\app.js:11:57)
at Request.self.callback (C:\wamp64\www\dev\gtfs\node_modules\request\request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (C:\wamp64\www\dev\gtfs\node_modules\request\request.js:1163:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (C:\wamp64\www\dev\gtfs\node_modules\request\request.js:1085:12)
at IncomingMessage.g (events.js:291:16)
at emitNone (events.js:91:20)
关于我在这里遗漏了什么或做错了什么的任何线索?
还知道“gtfs-realtime.proto”文件的用途吗?我是否应该/在哪里将它包含在我的项目文件夹中? https://developers.google.com/transit/gtfs-realtime/gtfs-realtime-proto
谢谢,感谢您的帮助,这是我第一次解析 gtfs 提要。
【问题讨论】: