从Google Maps Directions API获取公共交通时间表的最佳方式

时间:2015-09-18 13:29:47

标签: google-maps google-maps-api-3 directions google-directory-api transit

所以我正在尝试使用谷歌地图方向api 制作公共交通时间表应用程序。

对于特定时间从一个地方到另一个地方的特定路线,所有可能 departure_time 的最佳方法是什么?

问题是,服务器始终只响应一个特定时间的路由。我怎样才能获得以下所有出发时间?

执行此操作的最糟糕方式是每分钟询问服务器是否有新的旅行链接。但是,嘿,它需要花费很多时间!

所以我认为谷歌可能会提供某种传输时间表,但我找不到谷歌开发者网站上的任何信息。我在这里只看到了通用运输饲料规格(GTFS)帮助提供谷歌时间表信息的方法: https://developers.google.com/transit/gtfs-realtime/ 或者在这里: https://developers.google.com/transit/gtfs/ 但我找不到从他们那里得到它的方法。

2 个答案:

答案 0 :(得分:2)

我不相信谷歌地图指示api 会将您要查找的信息作为收藏品返回。

过境数据的问题在于,计算未来的时间表可能需要大量处理(特别是如果骑车人涉及目的地时涉及多条路线),因为基本上,系统需要为每个预定的时间段执行旅行计划在时间范围的起点旅行。

Google在其关于alternatives参数

的API中暗示了这一点
  

alternatives - 如果设置为true,则指定Directions服务可以在响应中提供多个路径替代。 请注意,提供路由替代方案可能会增加服务器的响应时间。

此外,不同的未来出发时间实际上可能是不同的路线或路线组合(例如,多条路线可能会在同一条街道上聚集一段时间 - 例如,在大学校园或其他交通枢纽附近)

为了获得具有实际停止时间的基础路线数据,您需要直接下载运输代理商的GTFS数据并自行处理(查看我们的GTFS Data Exchange)。这是您的竞争对手已经在做的事情(例如Transit App,Moovit等)。有些软件包可以为您完成部分处理(例如One Bus Away)。然而,即使使用现有的库,这里也有一些繁重的工作(从开发的角度来看)。

最后请注意,如果您想使用谷歌地图路线api ,您不需要在一个时间范围内查询每一分钟,以获得一系列的出发时间。您应该可以拨打一系列电话,其出发时间刚好超过您在之前通话中返回的出发时间。例如,如果第一次旅行时间是下午1:00将departure_time设置为下午1:05并再次请求,那么如果第二次旅行时间是下午1点20分,则将下一个departure_time设置为下午1:25并请求再次,等等,建立​​你未来的旅行清单。

答案 1 :(得分:-1)

好。首先,您的问题不符合stackoverflow的要求。查看Google的开发者控制台,API部分,检查他们是否提供任何此类API,以便在24小时内为您提供所有传输时间表?如果有任何这样的API那么好,你可以点击但如果没有那么我恐怕你不能得到它,除非你在一段时间后点击API。

另一个建议是,您可以尝试雅虎或bing地图,并检查他们是否有任何此类API供您查询。