将 Google 方向 API 与多个 waypoints 和模式一起使用
Using the Google Direction API with multiple waypoints and modes
我有一套自行车站,我需要使用这些自行车找到一条从一个点到另一个点的路。
例如:
- 用户去附近的车站取自行车
- 他骑车去另一个车站
- 他把自行车放在这里,然后步行走完路线
实际上,我的 android 申请是这样进行的:
- 我找到离我当前位置最近的两个车站和离我目的地最近的两个车站
- 我使用 google api 计算了四种不同的路线。 (选择一个或另一个)并选择最好的一个
为了计算一条路线,我向 google 方向提出了三个请求,一个是从我所在的位置步行到一个车站,一个是骑自行车从一个车站到另一个车站,第三个是从一个车站到我的终点站徒步到达目的地。
这是对 google api 的
的 3*4=12 请求
Users of the free 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 允许使用 waypoints,然后我会给出两个站并且只给出一个请求而不是 3 个,但是,我不知道如何在 waypoints 之间更改模式(骑自行车或步行),这可能吗?
或者google的api可以为我找到最好的行程(通过给他不同的站点),这可能吗?
谢谢你:)
您可以在6条路线中进行计算。使用图表最容易解释这一点:
基本上,您计划的所有可能路线共有 8 个组成部分,即到达任一自行车站的两个距离、自行车到自行车的各种组合的四个部分,以及最后两个自行车站到端选项。
实际上,这可以进一步压缩,因为最后两条路线取决于自行车到自行车,但不受进一步排列的影响。因此,这可以压缩为6条路线:
start --> A
start --> B
A --> C --> End
A --> D --> End
B --> C --> End
B --> D --> End
如果您不能使用 waypoints,您可以简单地使用八个,这会将像 A --> C --> End
这样的路由拆分为 A --> C
然后 C --> End
,这也将与 B --> C --> End
.
一起使用
当然,总时间是一条起始路线和之后的bike/walking条路线之和,以此类推。
实施后,这会将您的查询减少到 8 个(甚至 6 个)。
我有一套自行车站,我需要使用这些自行车找到一条从一个点到另一个点的路。 例如:
- 用户去附近的车站取自行车
- 他骑车去另一个车站
- 他把自行车放在这里,然后步行走完路线
实际上,我的 android 申请是这样进行的:
- 我找到离我当前位置最近的两个车站和离我目的地最近的两个车站
- 我使用 google api 计算了四种不同的路线。 (选择一个或另一个)并选择最好的一个
为了计算一条路线,我向 google 方向提出了三个请求,一个是从我所在的位置步行到一个车站,一个是骑自行车从一个车站到另一个车站,第三个是从一个车站到我的终点站徒步到达目的地。 这是对 google api 的
的 3*4=12 请求Users of the free 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 允许使用 waypoints,然后我会给出两个站并且只给出一个请求而不是 3 个,但是,我不知道如何在 waypoints 之间更改模式(骑自行车或步行),这可能吗? 或者google的api可以为我找到最好的行程(通过给他不同的站点),这可能吗?
谢谢你:)
您可以在6条路线中进行计算。使用图表最容易解释这一点:
基本上,您计划的所有可能路线共有 8 个组成部分,即到达任一自行车站的两个距离、自行车到自行车的各种组合的四个部分,以及最后两个自行车站到端选项。
实际上,这可以进一步压缩,因为最后两条路线取决于自行车到自行车,但不受进一步排列的影响。因此,这可以压缩为6条路线:
start --> A
start --> B
A --> C --> End
A --> D --> End
B --> C --> End
B --> D --> End
如果您不能使用 waypoints,您可以简单地使用八个,这会将像 A --> C --> End
这样的路由拆分为 A --> C
然后 C --> End
,这也将与 B --> C --> End
.
当然,总时间是一条起始路线和之后的bike/walking条路线之和,以此类推。
实施后,这会将您的查询减少到 8 个(甚至 6 个)。