我有调用 Google 地理编码 API 的服务器端代码,如下所示:
http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&sensor=false&key=API_KEY
其中 API_KEY
是我的 API key 。正如预期的那样,我收到了 JSON 回复,但响应始终是 602
(未知地址)。我的网址有错吗? (我还尝试了 Google docs 中的 URL,但返回了 status: 'REQUEST_DENIED'
。
还有什么可能是错误的吗?
更新: 嗯,这似乎实际上是我的实现中的错误,而不是 URL。我就是这样做的:
api_params = {
'q': '40.714224,-73.961452',
'sensor': 'false',
'key': KEY,
'output': 'json'
}
# make the api call
http_response = urllib.urlopen('http://maps.google.com/maps/geo',
urllib.urlencode(api_params))
r = json.load(http_response)
但将其更改为:
api_params = {
#'q': str(lat) + ',' + str(lng),
'q': '40.714224,-73.961452',
'sensor': 'false',
'key': KEY,
'output': 'json'
}
# make the api call
http_response = urllib.urlopen('http://maps.google.com/maps/geo?q='+api_params['q']+'&output=json&sensor=false&key='+api_params['key'])
r = json.load(http_response)
print r
解决了问题。所以我的新问题是,第一个有什么问题?
最佳答案
第一个执行 POST 请求,第二个执行 GET 请求。
您可能还想使用 urllib.urlencode 函数进行串联。
但最简单的方法是使用 geopy。
关于python - 谷歌地图反向地理编码始终在服务器端响应 602(未知地址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660426/