1

我试图找到从加利福尼亚州孤松到加利福尼亚州优胜美地村的最短路线。

一个简单的谷歌地图查找揭示了两条路线:

  1. 收费路线:US-395N、CA-120W ~316 km
  2. 无收费路线:CA-99N ~596 km

DirectionService/DistanceMatrixService 有一个 AvoidTolls 参数:

avoidTolls (optional) — If true, the directions between points will be calculated using non-toll routes, wherever possible.
avoidTolls (optional) when set to true indicates that the calculated route(s) should avoid toll roads, if possible.

我希望服务在应用时返回路由#1 avoidTolls: false,而是返回路由#2。

我的期望或我的实现http://jsfiddle.net/nQzD8/2有缺陷吗?

更新:

正如Molle 博士所指出的,忽略 1 号路线不是因为包含收费路线,而是因为它可能在当前时间关闭(“这条路可能会季节性关闭。”在方向步骤中)。

user2961817发现,通过避开高速公路(设置)可以获得 316 公里的结果avoidHighways: true

除了成为 Maps for Business 客户并使用带departure_time参数的 DistanceMatrix API 之外,是否还有其他选项可以检索一年中另一个时间的 DistanceMatrix 结果?

解决方案:

Route #1 被忽略,因为它可能在请求时关闭,而不是因为包含收费路线。为了检索较短的路线,有以下选项:

距离矩阵服务:

  • 成为商业客户并设置离开时间参数。
  • 发出第二个请求avoidHighways: true并采用较短的路线(在这种特殊情况下恰好可以工作,但在大多数其他情况下不会

方向服务:

  • 使用provideRouteAlternatives:true,遍历备选方案并选择最短的一个
4

2 回答 2

2

当我通过明确绘制方向时,CA-120 W我得到这条路的以下信息:这条路可能会季节性关闭。也许这就是谷歌避开这条路的原因。

Tioga 路因下雪而关闭,通常从 11 月的某个时候到 5 月下旬或 6 月初。……现在是十一月

于 2013-11-06T18:43:32.780 回答
1

似乎对我有用。当设置为 true 时,它​​显示与设置为 false 时不同的路线。

预期结果:通过 US-395 N 和 CA-120 W 行驶 316 公里

于 2013-11-06T18:44:14.687 回答