为什么Geocoder(1.38.1)输出无?

时间:2018-10-07 22:44:59

标签: python geocoder

下面的代码为什么不给出None作为输出?

import geocoder
g = geocoder.google('Mountain View, CA')
print g.latlng

1 个答案:

答案 0 :(得分:0)

要找到答案,您可以使用它们提供的其他代码来手动执行地址解析器的操作:

import requests
url = 'https://maps.googleapis.com/maps/api/geocode/json'
params = {'sensor': 'false', 'address': 'Mountain View, CA'}
r = requests.get(url, params=params)
results = r.json()

查看该对象,我们可以看到它包含一个error_message键和一个状态OVER_QUERY_LIMIT。错误消息如下:

print(results['error_message'])
  

您已超出此API的速率限制。我们推荐   在Google Developers Console上注册密钥:   https://console.developers.google.com/apis/credentials?project=_

这是因为Google stopped supporting keyless API access back on June 11, 2018。要将Google用作地理编码提供商,您需要get an API key并启用结算功能。如果您不想为他们的API访问付费,则可能需要查看一些free alternatives进行地理编码。