使用gmapsdistance调用谷歌地图API出行时间不随时段变化咨询
问题原因
- 你当前代码读取的
$Time字段是谷歌地图返回的无拥堵理想状态下的固定行驶时长,本身就不会随出发时段变化。要获取包含拥堵计算的动态时长,需要读取返回结果中的$Time_traffic字段。 - 你设置的出发时间为2021年的历史时间,普通谷歌Distance Matrix API不支持个人用户查询历史时段的拥堵数据,传入过去的出发时间时,API会自动忽略交通计算逻辑,即便读取
Time_traffic也不会返回有差异的结果。
修复后使用示例
需要将出发时间设置为调用API时刻之后的未来时间,才能拿到对应时段的拥堵预测时长:
library(gmapsdistance) library(lubridate) # key 已提前设置 # 示例设置为未来某一天的三个时段 depart1 <- as.numeric(ymd_hms("2024-10-20 15:00:00")) depart2 <- as.numeric(ymd_hms("2024-10-20 19:00:00")) depart3 <- as.numeric(ymd_hms("2024-10-20 23:00:00")) temp1 = gmapsdistance( origin = "40.75905289665592+-73.97693625311344", destination = "40.76264792279165+-73.99683999171252", mode = "driving", key = key, departure = depart1 ) # 读取带拥堵计算的出行时间 temp1$Time_traffic temp2 = gmapsdistance( origin = "40.75905289665592+-73.97693625311344", destination = "40.76264792279165+-73.99683999171252", mode = "driving", key = key, departure = depart2 ) temp2$Time_traffic temp3 = gmapsdistance( origin = "40.75905289665592+-73.97693625311344", destination = "40.76264792279165+-73.99683999171252", mode = "driving", key = key, departure = depart3 ) temp3$Time_traffic
补充说明
如果确实需要查询历史时段的拥堵出行时间,需要升级到谷歌地图平台的企业级付费账号,调用对应历史数据接口,普通个人开发者账号无此权限。
内容的提问来源于stack exchange,提问作者SiH
相关产品推荐
相关产品推荐

