You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Google Distance Matrix API返回错误地址问题求助

解决Google Distance Matrix API返回错误地址的问题

嘿,我一眼就瞅出你代码里的关键问题了——你在调用distance_matrix的时候,把变量名origins和destinations当成字符串拼接了,而不是用变量本身的实际值!

先看你这段有问题的代码:

origins = ['26.650032', '-81.842073']
destinations = ['26.617167', '-81.860763']
JTC = gmaps.distance_matrix('origins'+", Florida", 'destinations'+", Florida", ...)

这里你传给API的不是经纬度坐标,而是字符串"origins, Florida"和"destinations, Florida",Google API肯定没法解析这种奇怪的“地址”,自然会返回错误的结果。

正确的做法分两种情况:

1. 直接使用经纬度坐标

Google API支持直接接收经纬度对,格式可以是"纬度,经度"的字符串,或者数值元组:

# 方式1:用字符串格式的经纬度
origins = ["26.650032,-81.842073"]
destinations = ["26.617167,-81.860763"]

# 方式2:用元组传递数值(更推荐,避免字符串拼接错误)
origins = [(26.650032, -81.842073)]
destinations = [(26.617167, -81.860763)]

2. 给坐标添加州名后缀

如果确实需要给坐标加上佛罗里达州的标识,要用变量的值来拼接,而不是变量名:

# 先把经纬度组合成完整的坐标字符串
origin_coord = f"{origins[0]},{origins[1]}"
destination_coord = f"{destinations[0]},{destinations[1]}"

# 再拼接州名
origin_full = f"{origin_coord}, Florida"
destination_full = f"{destination_coord}, Florida"

# 调用API
JTC = gmaps.distance_matrix(origin_full, destination_full, mode='driving') # 可按需指定出行模式

额外调试小技巧

  • 调用API前先打印参数,确认传递的内容是对的:
print("要发送的起点:", origin_full)
print("要发送的终点:", destination_full)

这样能快速发现参数是否变成了奇怪的字符串。

  • 查看API返回的状态和错误信息,能帮你定位更多问题:
print("API返回状态:", JTC.get('status'))
print("错误详情:", JTC.get('error_message'))

修正参数传递的问题后,API就能正确解析你的坐标/地址,返回准确的距离结果啦!

内容的提问来源于stack exchange,提问作者Jaime Argueta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:31:03