python - 从 Google Maps API v3 获取纬度和经度

标签 python google-api

我正在 python 2.7 中构建一个独立的邻近搜索工具(目的是使用 py2exe 和 NSIS 分发它)和 tkinter,它获取中心点地址,查询数据库,并返回数据库中特定范围内的所有地址.

这是我第一次尝试使用 google api,我对如何使用它来检索这些数据感到非常困惑。

我按照这里的代码:http://www.libertypages.com/clarktech/?p=315

除了 610 之外什么也没有收到。

我尝试使用此网址,基于此处有关堆栈溢出的问题并收到访问被拒绝错误:http://maps.googleapis.com/maps/api/geocode/xml

我已经在 API 控制台中设置了该项目,启用了 map 服务,添加了浏览器和服务器 API key ,尝试了这两个方法,但失败了。

我花了整个上午的时间翻阅 API 文档,但没有找到任何内容告诉我为 google map api v3 的简单 API 信息请求指定什么 URL。

这是我的函数的实际代码,它是我上面链接的稍加修改的版本,当我使用 http://maps.google.com/maps/geo 运行它时,混合了一些调试输出。 ?我收到了 610,0,0,0 :

def get_location(self, query): 


    params = { }
    params[ 'key' ] = "key from console" # the actual key, of course, is not provided here
    params[ 'sensor' ] = "false"
    params[ 'address' ] = query

    params = urllib.urlencode( params )
    print "http://maps.googleapis.com/maps/api/geocode/json?%s" % params

    try:
        f = urllib.urlopen( "http://maps.googleapis.com/maps/api/geocode/json?%s" % params )

一切运行完美,我只是以“610”和“失败”作为数据库中所有地址的纬度和经度。 :/

我尝试过服务器应用程序 API key 和浏览器应用程序 API key ,但 Oauth 客户端 ID 不是一个选项,因为我不希望我的用户必须允许访问。

我真的希望有人会说“去读一下这份文档,你这个白痴”,然后我就可以夹着尾部拖着脚步走开了。

更新:我发现了这个:https://developers.google.com/maps/documentation/geocoding/实现了它建议的更改,没有更改,但需要更长的时间才能给我“访问被拒绝”响应。

最佳答案

API key 导致其失败。我把它从查询参数字典中取出来,它只是作为一个匿名请求工作。

    params = { }
    params[ 'sensor' ] = "false"
    params[ 'address' ] = query

关于python - 从 Google Maps API v3 获取纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16002213/

相关文章:

Python 等效于 C 结构(将应用程序从 C 移植到 python)

android - 如何在未经身份验证的情况下从 Google Play 商店请求应用信息

javascript - Google 自动完成 HTMLInputElement 错误

javascript - Google Chart 无法在 Safari 浏览器中绘制图表

java - Google OAuth 返回 invalid_grant token 类型不正确

python - 在Python中处理类中的错误

python - 使用 Memcache 缓存 Matplotlib(Wont Pickle)

python - 防止从 Python 调用 C 类型

python - 为什么Python斐波那契序列循环比递归慢?

google-apps-script - 自动从 Google 云端硬盘删除超过 n 天的文件 - 访问被拒绝 : DriveApp