Estoy usando el código de abajo para obtener la latitud y longitud de una dirección:
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
pero estoy recibiendo el error de abajo
File "C:/Users/Pavan/PycharmProjects/MGCW/latlong6.py", line 1, in from googlemaps import GoogleMaps ImportError: cannot import name GoogleMaps
He visto otra pregunta similar a esta, pero la solución no funcionó para mí.
Use geopy en su lugar, no hay necesidad de api-key.
De su ejemplo:
from geopy.geocoders import Nominatim geolocator = Nominatim() location = geolocator.geocode("175 5th Avenue NYC") print(location.address) print((location.latitude, location.longitude))
huellas dactilares:
Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, 10010, United States of America (40.7410861, -73.9896297241625)
Creo que lo que está buscando es la clase de Client
, no GoogleMaps
.
Si quieres llamarlo GoogleMaps
importalo de la siguiente manera:
from googlemaps import Client as GoogleMaps
Otra opción es analizar el json de photon.komoot.de . Ejemplo:
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']
huellas dactilares:
[-76.1438449, 40.229888] [-77.046567, 38.8924587]
Estos se dan en lon, lat. El segundo es un poco por alrededor de 1 milla. Parece que las intersecciones de las calles son difíciles.
Podría escribir un código para varias direcciones, pero nunca funcionó. Finalmente, encontré este sitio web que podría generar geocódigos a granel. Creo que puede ser útil para alguien que busque geocódigos a granel. También tiene geoencoding inversa.
http://www.findlatitudeandlongitude.com/batch-geocode/#.VW2KRs-qqkq
pip install -U googlemaps
use esta statement para instalar y usar la api de googlemaps en Python