通过详细地址信息,调用百度驶入座标系统api,获得地址的经纬度信息
1、打开百度地图开放平台:http://lbsyun.baidu.com/
注册成为一名开发者。
2、点击控制台,创建应用获取自己的ak
3、通过在py文件中编写代码,填入ak进行调用
# 详细信息
class MyInfo:
# 根据地址获取经纬度
def getlnglat(address):
url = 'http://api.map.baidu.com/geocoder'
output = 'json'
ak = 百度AK # 浏览器端密钥
address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码
uri = url + '?' + 'address=' + address + '&output=' + output + '&ak=' + ak
try:
req = urlopen(uri)
res = req.read().decode()
temp = json.loads(res)
# 纬度
lat = temp['result']['location']['lat']
# 经度
lng = temp['result']['location']['lng']
# 地址查找失败
if math.isclose(lat,39.910925,rel_tol=1e-5):
lat = None
if math.isclose(lng, 116.413384, rel_tol=1e-5):
lng = None
except Exception as e:
print(e)
lng = None
lat = None
return lng, lat