调用百度API计算两地步行距离
1.获取百度api接口
创建应用完成后我们就可以得到刚刚创建的应用的密钥(AK)
2.获取起始地点的地理编码
def getapiurl(myaddress):
url=r"http://api.map.baidu.com/geocoding/v3/?address={}&output=json&ak={}".format(myaddress,myAK)#说明文档里给出的api接口
print(url)
return url
def getPosition(url):
'''返回经纬度信息'''
res = requests.get(url)
json_data = json.loads(res.text)
if json_data['status'] == 0:
lat = json_data['result']['location']['lat'] # 纬度
lng = json_data['result']['location']['lng'] # 经度
else:
print("Error output!")
return json_data['status']
return lat, lng
3.获取起始地点的步行距离
def getdistance(startlat,startlng,endlat,endlng):
#{: .6f}保留小数点后六位
distanceurl=r"http://api.map.baidu.com/directionlite/v1/walking?origin={:.6f},{:.6f}&destination={:.6f},{:.6f}&ak={}".format(startlat,startlng,endlat,endlng,myAK)
res = requests.get(distanceurl)
dis_json_data = json.loads(res.text)
if dis_json_data['status'] == 0:
distance=dis_json_data['result']['routes'][0]['distance']
print(distance)