Google Directions API 响应中的 duration 和 duration_in_traffic 之间的区别

Posted

技术标签:

【中文标题】Google Directions API 响应中的 duration 和 duration_in_traffic 之间的区别【英文标题】:Difference between duration and duration_in_traffic in Google Directions API Response 【发布时间】:2018-11-20 15:57:16 【问题描述】:

在使用Google Directions API 完成一个项目后,我发现多个响应的duration_in_traffic 值比duration 短得多。我收到的回复之一的示例摘录:

"duration": 
    "text": "23 mins",
    "value": 1374
,
"duration_in_traffic": 
    "text": "16 mins",
    "value": 941
,
"end_address": "2868 Mission St, San Francisco, CA 94110, USA",
"end_location": 
    "lat": 37.7522994,
    "lng": -122.4184684
,
"start_address": "O'Farrell St & Powell St, San Francisco, CA 94102, USA",
"start_location": 
    "lat": 37.78640559999999,
    "lng": -122.4082846
,

这对我来说似乎没有多大意义,因为我假设 duration 只是 duration 没有流量,而 duration_in_traffic 显然包含了交通状况。我在另一个线程上找到了answer,但回答的人没有提供任何来源来支持他或她的主张/观察。除了documentation 本身之外,是否还有关于 duration 响应字段的更多信息,它只是将其描述为“[指示]这条腿的总持续时间”?是否有消息来源表明它实际上是该路线的平均时间?以及duration和duration_in_traffic有什么区别?

【问题讨论】:

【参考方案1】:

在搜索有关这两个字段之间差异的更多信息后,我在 google 问题跟踪器上遇到了this thread。其中解释说,持续时间的值“考虑了历史数据[...]”,而 duration_in_traffic “考虑了与您的出发时间相关的实时交通数据”。虽然这并没有完全解释持续时间值是如何计算的,但它至少扩展了官方文档并确认历史数据用于持续时间值。除了不是很深入的官方文档之外,这似乎也是网络上关于持续时间字段的唯一可靠信息。

【讨论】:

以上是关于Google Directions API 响应中的 duration 和 duration_in_traffic 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 中限制 Google Directions API 密钥

Google Directions API未授权访问iOS

Google Maps API [Directions API] 航点限制?

如何从 Google Maps Directions Api 获取折线

Google Directions API 无法在 iOS 中返回结果

为啥“Google Maps”一书中的 Google Maps Directions API 示例对我不起作用?