【问题标题】:How to get public transport time schedule from The Google Maps Directions API?如何从 Google Maps Directions API 获取公共交通时间表?
【发布时间】:2015-09-18 13:29:47
【问题描述】:

我正在尝试使用 google maps 路线 api 制作公共交通时间表应用程序。

获取所有可能的 departure_time在特定时间从一个地方到另一个地方的特定路线的最佳方式是什么?

问题是,服务器总是在一个特定的时间只响应一个路由。如何获得以下所有离开时间?

最糟糕的方法是每分钟询问服务器是否有新的旅行链接。但是,嘿,这会花费很多时间!

所以我认为谷歌可能会提供某种运输时间表,但我在谷歌开发者网站上找不到任何信息。我只看到了在通用运输提要规范 (GTFS) herehere 的帮助下向谷歌提供时间表信息的方法。

但我找不到从他们那里得到它的方法。

【问题讨论】:

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


    【解决方案1】:

    我不相信 google maps 路线 api 会将您正在寻找的信息作为集合返回。

    公交数据的问题在于,计算未来的时间表可能需要大量处理(尤其是当乘客到达目的地涉及多条路线时),因为基本上,系统需要为每个预定的行程制定一个行程计划在时间范围的起点旅行。

    Google 在他们的 API 中暗示了这一点关于 alternatives 参数

    alternatives — 如果设置为 true,则指定路线服务可以在响应中提供多个路线备选方案。 请注意,提供备选路线可能会增加服务器的响应时间。

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

    为了获得包含您要查找的实际停靠时间的基础路线数据,您需要直接下载运输机构的 GTFS 数据并自行处理(查看我们的GTFS Data Exchange)。这是您的竞争对手已经在做的事情(例如 Transit App、Moovit 等)。有些包会为你做一些这样的处理(例如One Bus Away)。然而,即使使用现有的库,这里也涉及一些繁重的工作(从开发的角度来看)。

    最后一点,如果您想使用 google maps 路线 api,您不需要在一个时间范围内的每一分钟查询它以获得一系列出发时间。您应该能够拨打一系列电话,其出发时间设置为刚刚超过您在上一次通话中返回的出发时间。例如,如果第一次行程时间是下午 1:00,则将 departure_time 设置为下午 1:05 并再次请求,然后如果第二次行程时间是下午 1:20,则将下一个 departure_time 设置为下午 1:25 并再次请求,以此类推以建立您未来的旅行清单。

    【讨论】:

      【解决方案2】:

      好的。首先,您的问题不符合stackoverflow的要求。检查谷歌的开发者控制台,API 部分并检查他们是否提供任何此类 API 以在 24 小时内为您提供所有运输时间表?如果有任何这样的 API 就很好,你可以点击它,但如果没有,那么我担心你将无法获得它,除非你在一段时间后点击 API。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多