【问题标题】:Google Maps v3 DistanceMatrix/Directions ignore avoidTolls:falseGoogle Maps v3 DistanceMatrix/Directions 忽略 AvoidTolls:false
【发布时间】:2013-11-06 18:13:09
【问题描述】:

我试图找到从 Lone Pine, CAYosemite Village, CA 的最短路线。

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

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

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.

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

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

更新:

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

user2961817发现,避开Highways(设置avoidHighways: true)可以获得316km的结果。

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

解决方案:

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

DistanceMatrixService:

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

DirectionService:

  • 使用provideRouteAlternatives:true,遍历备选方案和 取最短的一个

【问题讨论】:

  • 只有当 provideRouteALternatives 为 true 且 AvoidTolls 为 false 时,它​​才会为我返回较短的路线。 jsfiddle.net/nQzD8/8

标签: javascript google-maps google-maps-api-3


【解决方案1】:

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

The Tioga Road closes due to snow, usually from sometime in November through late May or early June. ...现在是 11 月

【讨论】:

  • 可能是这样。您在哪里看到“季节性关闭”的信息?当我选择 US-395N/CA-120W 作为替代路线时,我只得到“这条路线有通行费。”,与季节无关。
  • 当我使用面板获取第 6 步的路线文本时:左转进入 CA-120 W/Tioga Rd 继续沿 CA-120 W 部分收费公路行驶这条路可能会季节性关闭
  • 除了成为 Maps for Business 客户并使用带离开时间参数的 DistanceMatrix API 之外,还有其他方法可以检索特定月份的 DistanceMatrix 结果吗?
  • AFAIK 出发时间参数仅在方向可用且仅在与 TRANSIT 模式一起使用时可用。我看到的唯一选择是使用 provideRouteAlternatives:true 请求路线,解析每条路线并选择最短的路线/持续时间
【解决方案2】:

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

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

【讨论】:

  • 有趣。我得到了 596 公里的 AvoidTools:false 和 AvoidTools:true。你得到什么距离?你能检查一下jsfiddle.net/nQzD8/6 它向我显示了两条相同的路线。
  • 设置为 true 时:距离矩阵的距离:596 公里 方向服务的距离:595 公里 预期结果:US-395 N 和 CA-120 W 的距离为 316 公里
  • 当设置为 false 时:通过距离矩阵的距离:596 公里 通过方向服务的距离:316 公里 预期结果:通过 US-395 N 和 CA-120 W 的距离为 316 公里,并且显示不同的路线。
  • 您能否发布具体的修订版,让您检索 316 公里作为方向结果?到目前为止,所有显示为 596 公里的我都使用了 AvoidTolls: false。
  • postimg.org/image/8px6ob7l1 不知道你所说的修订是什么意思,我在哪里可以找到?
猜你喜欢
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-12
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多