方法也是非常的简单,首先去高德开发平台,先申请高德API,设定一个Web服务的Key,然后将你自己的secret key填到下面的key对应的地方,就ok啦~
进入 高德开放平台(https://lbs.amap.com/) ,没有注册先进行注册哦,登录完成之后,点击右上方的控制台,
然后点击应用管理,进入我的应用,没有应用的话,创建一个应用,如图
添加完应用了之后,生成属于自己的key,如图,我这里选择的服务平台是 web服务
上面的步骤完成之后,我们就生成了一个key,如图所示
再根据以下的代码,我们就能进行 “地址—经纬度” 之间的互相转化了
要注意,自己替换掉 parameters 中的key 哦
import requests
import uuid
#将具体的地址 转为经纬度
def getcode(site,city):
parameters = {'address': site,'city':city, 'key': 'your secret key'}
base_url = 'https://restapi.amap.com/v3/geocode/geo'
response = requests.get(url=base_url, params=parameters)
info_site = response.json()
return info_site['geocodes'][0]['location']
# print(info_site['geocodes'][0]['location'])
#将经纬度 转化为 具体的地址
def lo_to_addr(location):
parameters = {'location': location, 'key': 'your secret key'}
base_url = 'https://restapi.amap.com/v3/geocode/regeo'
response = requests.get(url=base_url, params=parameters)
info_site = response.json()
# return info_site
return info_site['regeocode']['formatted_address']
# print(info_site['regeocode']['formatted_address'])
if __name__ == '__main__':
#具体的地址,在包含城市的情况下 city 可以为空
address = '北京市朝阳区阜荣街'
#城市
city = ''
location = getcode(address,city)
address_from_location = lo_to_addr(location)
print('根据输入的地址获取到的经纬度为:',location)
print('根据经纬度得到的地址为:',address_from_location)
如果有兴趣的话 可以去以下这个网址 去体验一下 高德 为我们生成 地址—经纬度 之间的转化 https://lbs.amap.com/api/javascript-api/guide/services/geocoder