Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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中获取地址的坐标_Python_Django_Google Maps - Fatal编程技术网

如何从Python中获取地址的坐标

如何从Python中获取地址的坐标,python,django,google-maps,Python,Django,Google Maps,我需要在谷歌地图上显示纬度和经度对的地址进行地理编码,但我需要在Django的服务器端执行此操作。我只能找到Javascript V3 API的参考。如何从Python中执行此操作?我建议使用。要使用它很容易: from googlemaps import GoogleMaps gmaps = GoogleMaps(API_KEY) lat, lng = gmaps.address_to_latlng(address) 编辑:如有必要,通过以下方式安装Py Googlemaps:sudo ea

我需要在谷歌地图上显示纬度和经度对的地址进行地理编码,但我需要在Django的服务器端执行此操作。我只能找到Javascript V3 API的参考。如何从Python中执行此操作?

我建议使用。要使用它很容易:

from googlemaps import GoogleMaps
gmaps = GoogleMaps(API_KEY)
lat, lng = gmaps.address_to_latlng(address)

编辑:如有必要,通过以下方式安装
Py Googlemaps
sudo easy\u安装Googlemaps

谷歌数据有一个has a-并且已经有了一个内置的。以下是谷歌地图API v3的代码(基于):

导入urllib
导入simplejson
谷歌地理代码http://maps.googleapis.com/maps/api/geocode/json?'
def get_坐标(查询,来自_传感器=False):
query=query.encode('utf-8')
参数={
“地址”:查询,
“传感器”:如果来自传感器,则为“真”,否则为“假”
}
url=googleGeocodeUrl+urllib.urlencode(参数)
json_response=urllib.urlopen(url)
response=simplejson.load(json_response.read())
如果响应['results']:
位置=响应['results'][0]['geometry']['location']
纬度,经度=位置['lat'],位置['lng']
打印查询、纬度、经度
其他:
纬度,经度=无,无
打印查询“”
返回纬度、经度

有关参数和其他信息的完整列表,请参见。

Python软件包
googlemaps
似乎非常能够进行地理编码和反向地理编码


googlemaps软件包的最新版本可在以下网址获得:

我强烈建议使用。它将返回纬度和经度,之后您可以在GoogleJS客户端中使用它

>>> 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)
此外,您可以通过使用
GoogleV3
类作为地理定位器来明确定义要使用谷歌服务

>>> from geopy.geocoders import GoogleV3
>>> geolocator = GoogleV3()

是否有可能获得使用此库的API密钥?我生成了一个Javascript v3 API密钥,但它似乎不起作用。@powerj1984我在尝试访问您的链接时收到恶意软件警告,这是正常的还是我应该担心?当我发布链接时,没有恶意软件警告。不知道现在发生了什么。这不再有效,因为谷歌需要一个个人API密钥才能工作:@skjerns谢谢更新!如果很容易修复,请随时更新答案
>>> from geopy.geocoders import GoogleV3
>>> geolocator = GoogleV3()