Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在python中导入名称GoogleMaps_Python_Python 3.x - Fatal编程技术网

无法在python中导入名称GoogleMaps

无法在python中导入名称GoogleMaps,python,python-3.x,Python,Python 3.x,我正在使用下面的代码获取地址的纬度和经度: from googlemaps import GoogleMaps gmaps = GoogleMaps(api_key) address = 'Constitution Ave NW & 10th St NW, Washington, DC' lat, lng = gmaps.address_to_latlng(address) print lat, lng 但是我得到了下面的错误 File "C:/Users/Pavan/PycharmP

我正在使用下面的代码获取地址的纬度和经度:

from googlemaps import GoogleMaps
gmaps = GoogleMaps(api_key)
address = 'Constitution Ave NW & 10th St NW, Washington, DC'
lat, lng = gmaps.address_to_latlng(address)
print lat, lng
但是我得到了下面的错误

File "C:/Users/Pavan/PycharmProjects/MGCW/latlong6.py", line 1, in <module>
    from googlemaps import GoogleMaps
ImportError: cannot import name GoogleMaps
文件“C:/Users/Pavan/PycharmProjects/MGCW/latlong6.py”,第1行,在
从谷歌地图导入谷歌地图
ImportError:无法导入名称GoogleMaps

我看到了另一个与此类似的问题,但解决方案对我不起作用。

我想你要找的是
客户端
类,而不是
谷歌地图

如果要调用它,请按如下方式导入它:

从googlemaps导入客户端作为googlemaps使用,无需api密钥

从他们的例子来看:

from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode("175 5th Avenue NYC")
print(location.address)
print((location.latitude, location.longitude))
印刷品:

Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, 10010,  United States of America
(40.7410861, -73.9896297241625)
[-76.1438449, 40.229888]
[-77.046567, 38.8924587]

另一个选项是从解析json。例如:

import requests, json

url = 'http://photon.komoot.de/api/?q='
addresses = ['175 5th Avenue NYC', 'Constitution Ave NW & 10th St NW, Washington, DC']

for address in addresses:
    resp = requests.get(url=url+address)
    data = json.loads(resp.text)
    print data['features'][0]['geometry']['coordinates']
印刷品:

Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, 10010,  United States of America
(40.7410861, -73.9896297241625)
[-76.1438449, 40.229888]
[-77.046567, 38.8924587]

这些都是在洛恩,拉特。第二个是有点偏离约1英里。街道交叉口似乎很困难。

我可以为多个地址编写一个代码,但它从来都不起作用。。 终于找到了这个可以批量生成地理代码的网站。。 我认为它可能对寻找批量地理编码的人有用。。 它还具有反向地理编码


用这句话来安装和使用Python中的googlemaps api,Andrzej的回答对我很有用

from googlemaps import Client as GoogleMaps
为了补充他的话,你需要

  • 单击Google云平台控制台中的API库
  • 搜索“地理定位API”
  • 点击“启用”
如果在启用此功能之前创建API密钥,也会出现该错误。我也有同样的问题


在“凭据”选项卡下,您将看到创建或复制API密钥的选项。

是否这样做了?现在我收到了gmaps=GoogleMaps(API密钥)名称中第2行的错误文件“C:/Users/Pavan/PycharmProjects/MGCW/latlong6.py”。错误:名称“API密钥”不正确defined@PavanChakravarthy那是因为你需要一个api。改为使用geopy。是否定义了api\U密钥的名称?您似乎没有。请查看以下API键的描述:此代码在单个位置运行良好&当我经过多个位置时,所有纬度和经度都相同..现在似乎可以了。。无论如何,我需要找到44000个地点。。将尝试将它们放入一个文件中并将其传递。@PavanChakravarthy我对库不太熟悉,但它们似乎有很好的文档,正如预期的那样。上面的代码在少数位置运行良好&如果找不到坐标,其他位置也会失败。@PavanChakravarthy是的geopy似乎无法处理一些问题地址类型。请使用photon.komoot.de查看我的另一个答案。您的答案不正确。问题在于软件包,而不是安装!