Не может импортировать имя GoogleMaps в python

Я использую код ниже, чтобы получить широту и долготу адреса:

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

Я видел другой вопрос, похожий на это, но решение не сработало для меня.

Ответы

Ответ 1

Используйте geopy, не нужно использовать api-key.

Из своего примера:

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)

Ответ 2

Я думаю, что вы ищете класс Client not GoogleMaps.

Если вы хотите называть его GoogleMaps импортировать его следующим образом:

from googlemaps import Client as GoogleMaps

Ответ 3

Другой вариант - разбор json из photon.komoot.de. Пример:

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']

печатает:

[-76.1438449, 40.229888]
[-77.046567, 38.8924587]

Они приведены в lon, lat. Второй - немного около 1 мили. Кажется, пересечения улиц трудны.

Ответ 4

Я мог написать код для нескольких адресов, но он никогда не работал. Наконец нашел этот сайт, который мог генерировать геокоды навалом. Я думаю, что это может быть полезно для тех, кто ищет громоздкие геокоды.. Он также имеет обратное геокодирование.

http://www.findlatitudeandlongitude.com/batch-geocode/#.VW2KRs-qqkq

Ответ 5

Анджей ответ сработал для меня!

from googlemaps import Client as GoogleMaps

Просто чтобы добавить к тому, что он сказал, вам нужно будет

  • Нажмите на библиотеку API в консоли Google Cloud Platform
  • Поиск "API геолокации"
  • Нажмите "Включить"

Если вы создадите ключ API до его включения, вы также получите эту ошибку. У меня была такая же проблема.

На вкладке "Учетные данные" вы увидите вариант создания или копирования вашего ключа API.

Ответ 6

pip install -U googlemaps

используйте это утверждение для установки и использования googlemaps api в Python