Google 方向 API returns TRANSIT 的结果为零,尽管我明确要求的是地铁路线

Google Directions API returns zero results for TRANSIT, although I am clearly asking for a metro route

这是我的电话:

https://maps.googleapis.com/maps/api/directions/json?alternatives=true&key=my_key&origin=52.370060,4.925040&destination=52.37913,4.90027&departure_time=1518168706&mode=transit

我这条路线,应该至少有 3 条地铁和它们之间的一些公共汽车,应该找到我的结果。

这是我作为 departure_time 发送以获取该值的内容: (System.currentTimeMillis() / 1000

有时有效,有时无效。我尝试使用相同的 + 30(在当前时间上增加 30 秒),但同样,有时我会得到结果,有时只是 ZERO_RESULTS。为什么?

我注意到如果我将时间设置为过去 5 分钟,它会起作用。但我需要它在这一刻开始。这毫无意义,为什么调用 return 我的结果是过去的结果,而不是未来的结果,用于计划

恐怕你的问题有点宽泛,因为对 google 内部工作原理的理解对大多数凡人来说都是一个谜,但在少数情况下你可以 zero_results。

第一个是你使用已经过去的时间。所以一定要确保你使用的纪元时间还没有过去。

另一个可能是在您请求路线的那一刻,没有通往您想要的目的地的可行路线,因为 google 从其他来源收集数据,例如实时路况(用于驾驶)等。

我发现如果这个问题持续存在(你不断收到 zero_results)对于特定方向可能实际上是 API 的错误,你可以在问题中报告它跟踪器 https://issuetracker.google.com/ since I found reported/accepted Bugs (like https://issuetracker.google.com/issues/63884989) 与您的问题相关。

如果我找到更多信息,我将更新此答案。