Не может импортировать имя 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