使用Python调用百度地图Api获取两地距离
最近新接了一个需求需要获取两个地址间的步行距离,可以通过调用高德地图,百度地图的api接口实现这些功能,特此记录。
1.获取百度api接口
首先需要在百度的公众平台http://lbsyun.baidu.com/上点击控制台,如果是新用户的话需要进行注册和验证。注册和验证完毕后可以点击创建应用,填写应用名称等相关信息,应用类型根据需要进行设置,有浏览器端和服务器端两种。在这里特别说明的是,在IP白名单框里最好设置为:0.0.0.0/0,因为有时候把自己己的IP地址输进去可能也不行。创建应用完成后我们就可以得到刚刚创建的应用的密钥(AK)
2.获取起始地点的地理编码
首先是找到获取步行距离的官方文档http://lbsyun.baidu.com/index.php?title=webapi/directionlite-v1,但是发现对应的api接口里需要起始地点的地理编码,所以首先需要获取对应起始位置的地理编码http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding。如果有其他的需求,例如找路线规划等等都可以通过说明文档进行修改
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):
''