谷歌距离矩阵API GPS坐标搜索

2 投票
2 回答
1372 浏览
提问于 2025-04-18 18:17

我正在尝试使用谷歌的距离矩阵API,想要查询从一个GPS点到另一个GPS点的旅行时间。我试过了:

import urllib.request as url

API_KEY = "*********************"
orig_coord = "45.6492,4.7946"
dest_coord = "45.6403,4.7221"
mode = "bicycling"

url_request = "https://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}s&mode={2}&language=fr-FR&key={3}".format(orig_coord, dest_coord, mode, API_KEY)

result = url.urlopen(url_request)

这是我得到的结果:

{
   "destination_addresses" : [ "45 Claude Lane, Spartanburg, Caroline du Sud 29307, \xc3\x89tats-Unis" ],
   "origin_addresses" : [ "45.6492,4.7946" ],
    "rows" : [
      {
         "elements" : [
            {
               "status" : "ZERO_RESULTS"
            }
         ]
      }
   ],
   "status" : "OK"
}'

看起来这个API不明白我给的是GPS坐标,而不是地址,谢谢你的帮助。

2 个回答

1

你的代码看起来没问题,除非你的API_KEY不对。

试试这个:

import requests


API_KEY = "*********************"
orig_coord = "45.6492,4.7946"
dest_coord = "45.6403,4.7221"
mode = "bicycling"

url_request = "https://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}s&mode={2}&language=fr-FR&key={3}".format(orig_coord, dest_coord, mode, API_KEY)
rsp = requests.get(url_request)
print rsp.status_code
print rsp.text.encode('utf-8')

你会看到你想要的数据或者错误信息。

这里有一个关于谷歌距离矩阵API的链接,希望对你有帮助。

1

你的代码里有个拼写错误。下面是正确的版本。

url_request = "https://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}&mode={2}&language=en-EN&key={3}".format(orig_coord, dest_coord, mode, API_KEY)

撰写回答