【问题标题】:Using the Google Direction API with multiple waypoints and modes使用具有多个航点和模式的 Google Direction API
【发布时间】:2015-07-15 08:40:48
【问题描述】:

我有一组自行车站,我需要使用这些自行车找到从一个点到另一个点的路。 例如:

  1. 用户去附近的车站挑选自行车
  2. 他骑自行车去另一个车站
  3. 他把自行车放在这里,步行结束

实际上,我的 android 应用程序是这样进行的:

  1. 我找到了离我当前位置最近的两个车站和离我的目的地最近的两个车站
  2. 我使用 google api 计算了四种不同的路线。 (选择一个或另一个)并选择最好的一个

为了计算路线,我向谷歌方向做了三个请求,一个从我的位置步行到一个车站,一个从一个车站骑自行车到另一个车站,第三个从一个车站步行到我的最终目的地。 这是对 google api 的 3*4=12 请求

免费 API 的用户

   2500 directions requests per 24 hour period.
   Up to 8 waypoints allowed in each request. Waypoints are not >available for transit directions.
   2 requests per second. 

12 个请求对我的应用程序来说太多了,但是,google api 允许使用航路点,然后我会给两个站和一个请求而不是 3 个,但是,我不知道如何更改模式(在航路点之间骑自行车或步行),这可能吗? 或者也许google的api可以为我找到最好的行程(通过给他不同的车站),这可能吗?

谢谢你:)

【问题讨论】:

标签: android api google-maps google-directions-api


【解决方案1】:

您可以在 6 条路线中进行计算。使用图表最容易解释这一点:

基本上,您计划的所有可能路线共有 8 个组成部分,即到任一自行车站的两个距离,自行车到自行车的各种组合的四个距离,以及最后两个自行车站到结束选项。

实际上,这可以进一步压缩,因为最后两条路线取决于自行车到自行车,但不受进一步排列的影响。因此,这可以压缩为六个路由:

start --> A
start --> B
A --> C --> End
A --> D --> End
B --> C --> End
B --> D --> End

如果您无法使用航路点,您可以简单地使用八个航路点,这会将A --> C --> End 之类的路线拆分为A --> C,然后是C --> End,这也将与B --> C --> End 一起使用。

当然,总时间是起始路线和之后的自行车/步行路线之和,以此类推。

实施后,这会将您的查询减少到 8 个(甚至 6 个)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2016-03-22
    • 2018-03-26
    • 2018-03-23
    • 2014-03-25
    相关资源
    最近更新 更多