Necesito geocodificar una dirección a un par de latitud y longitud para mostrar en Google Maps, pero necesito hacer esto en Django. Solo pude encontrar referencia a la API de Javascript V3. ¿Cómo lo hago desde Python?Cómo obtener coordenadas de dirección desde Python
Respuesta
Sugeriría usar Py-Googlemaps. Para usarlo es fácil:
from googlemaps import GoogleMaps
gmaps = GoogleMaps(API_KEY)
lat, lng = gmaps.address_to_latlng(address)
de datos de Google tiene una API for Maps tiene un REST-ful API - y también tienen una Python library construido alrededor de ella ya.
Este es el código que trabaja para Google Maps API v3 (basado en this answer):
import urllib
import simplejson
googleGeocodeUrl = 'http://maps.googleapis.com/maps/api/geocode/json?'
def get_coordinates(query, from_sensor=False):
query = query.encode('utf-8')
params = {
'address': query,
'sensor': "true" if from_sensor else "false"
}
url = googleGeocodeUrl + urllib.urlencode(params)
json_response = urllib.urlopen(url)
response = simplejson.loads(json_response.read())
if response['results']:
location = response['results'][0]['geometry']['location']
latitude, longitude = location['lat'], location['lng']
print query, latitude, longitude
else:
latitude, longitude = None, None
print query, "<no results>"
return latitude, longitude
Ver official documentation para la lista completa de parámetros e información adicional.
El paquete de Python googlemaps
parece ser muy capaz de hacer geocodificación y geocodificación inversa.
La última versión del paquete de googlemaps está disponible en: https://pypi.python.org/pypi/googlemaps
recomendaría encarecidamente utilizar geopy. Devolverá la latitud y longitud, luego podrá usarla en el cliente de Google JS.
>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim()
>>> location = geolocator.geocode("175 5th Avenue NYC")
>>> print(location.address)
Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, ...
>>> print((location.latitude, location.longitude))
(40.7410861, -73.9896297241625)
Además se puede definir específicamente desea utilizar los servicios de Google mediante el uso de GoogleV3
clase como un geolocalizador
>>> from geopy.geocoders import GoogleV3
>>> geolocator = GoogleV3()
- 1. ¿Es posible obtener una dirección desde coordenadas usando google maps?
- 2. Cómo obtener las coordenadas de una dirección en android
- 3. Obtener el país desde las coordenadas?
- 4. ¿Cómo obtener la dirección IP desde $ SSH_CLIENT
- 5. Cómo obtener la vista desde las coordenadas X/Y
- 6. Obtener latitud/longitud desde la dirección
- 7. Cómo obtener coordenadas de caracteres reconocidos
- 8. Python, Tkinter: Cómo obtener coordenadas en un lienzo desplazable
- 9. Obtener dirección desde la tabla "canonical_addresses"
- 10. Obtener Latitud Longitud desde una dirección C#
- 11. cómo obtener la dirección de inicio de struct desde la dirección de su miembro
- 12. cómo obtener la dirección MAC desde Windows-Mobile?
- 13. Obtener coordenadas y ancho/alto desde una matriz
- 14. Obtener coordenadas de GPS: Android
- 15. ¿Cómo obtener las coordenadas de ToolStripButton?
- 16. JFreeChart obtener coordenadas del mouse
- 17. Obtener la dirección MAC de dispositivos usando Python
- 18. Cómo convertir una dirección (como texto) en coordenadas gps?
- 19. Obtener las coordenadas de la dirección de Google Maps API por ajax() solicitud
- 20. ¿Cómo obtener una dirección IP desde la dirección Mac mediante programación en Android?
- 21. Google Maps (javascript API): obtener las coordenadas de GPS de la dirección
- 22. Cómo obtener la dirección de la brújula
- 23. ¿Cómo obtener la dirección IP?
- 24. ASP.NET MVC Obtener valores de ruta desde una dirección URL
- 25. servicio Web para obtener las coordenadas GPS
- 26. Python descarga todos los archivos desde la dirección de internet?
- 27. Obtener la dirección IP de los visitantes
- 28. Google Maps API - Obtenga las coordenadas de la dirección
- 29. ¿Cómo obtener las coordenadas de la pantalla desde un punto 3D? Opengl
- 30. cómo obtener una vista desde las coordenadas de un evento en Android?
¿Es posible obtener las claves de la API que trabajan con esta biblioteca de más? Genere una clave de API de Javascript v3 pero parece que no funciona. – powerj1984
Acaba de terminar usando esto en su lugar: http://code.xster.net/pygeocoder/wiki/Home – powerj1984
Repo para OP: https://github.com/googlemaps/google-maps-services-python –