这真让我抓狂。到目前为止,我已经删除了这个密钥 1000 次。昨天它就像一个魅力,今天不再是python代码:
from googlemaps import GoogleMaps
gmaps = GoogleMaps("AIzaSyBIdSyB_td3PE-ur-ISjwFUtBf2O0Uo0Jo")
exactaddress ="1 Toronto Street Toronto"
lat, lng = gmaps.address_to_latlng(exactaddress)
print lat, lng
GoogleMapsError: Error 610: G_GEO_BAD_KEY
它现在无明显原因返回上述错误。我认为我没有达到请求限制或最大速率为了保持安全,我什至引入了延迟(1 秒)......仍然得到同样的错误
有谁知道我该如何解决这个问题?如果您可以指出我当前使用的模块的替代方案,那么必须使用不同的 python 模块就可以了。
谢谢 C
PS:密钥是有效的,它是一个客户端密钥,当我在应用程序控制台中启用 GoogleMAP API3 时自动启用它。对域或 IP 没有限制
编辑:所以这就是我最终使用的
def decodeAddressToCoordinates( address ):
urlParams = {
'address': address,
'sensor': 'false',
}
url = 'http://maps.google.com/maps/api/geocode/json?' + urllib.urlencode( urlParams )
response = urllib2.urlopen( url )
responseBody = response.read()
body = StringIO.StringIO( responseBody )
result = json.load( body )
if 'status' not in result or result['status'] != 'OK':
return None
else:
return {
'lat': result['results'][0]['geometry']['location']['lat'],
'lng': result['results'][0]['geometry']['location']['lng']
}
Jason 向我指出的库也很有趣,但由于我的代码旨在修复某些问题(一次性使用),所以我没有尝试过他的解决方案。如果我再次编写代码,我肯定会考虑 :-)