Google Maps Directions API悲观交通路线URL构造求助
解决Google Maps Directions API中trafficModel参数不生效的问题
嘿,我帮你分析下这个问题!你遇到的trafficModel参数没效果的情况,大概率是因为忽略了几个关键的前提条件——虽然这个参数确实是直接放在URL查询参数里的,但不是随便加就能生效的。
关键前提&正确URL构造
要让trafficModel=pessimistic生效,必须满足以下核心条件:
- 必须指定
departure_time参数:交通模型是基于实时或预测的交通数据计算的,没有出发时间的话,API会直接忽略trafficModel,默认使用best_guess逻辑。你可以填now表示当前时间,或者用Unix时间戳指定未来的出发时间。 - 显式指定驾驶模式:虽然默认mode是
driving,但显式加上mode=driving更稳妥,避免歧义。 - 添加有效的API密钥:现在Google Maps API所有请求都要求带
key参数,没有的话请求会被拒绝,自然也看不到预期效果。
给你构造好的正确URL示例:
https://maps.googleapis.com/maps/api/directions/json?origin=41.0050506,29.0680688&destination=41.011522,29.983513&sensor=false&mode=driving&departure_time=now&trafficModel=pessimistic&key=YOUR_API_KEY
记得把YOUR_API_KEY替换成你的有效API密钥哦。
验证参数是否生效的小技巧
如果换了URL还是看不出路线形态差异,你可以查看API返回的JSON响应里的legs[0].duration_in_traffic字段:
- 悲观模式(pessimistic)下的时长会比
best_guess更长,会考虑可能出现的最大拥堵延迟 - 乐观模式(optimistic)下的时长会更短,假设交通状况比预期好
要是这段路线在你指定的出发时间本来就没有明显拥堵,那路线形态可能差异不大,但时长数据一定会有区别。
内容的提问来源于stack exchange,提问作者6155031
相关产品推荐
相关产品推荐

