python地图 两点距离_使用Python调用百度地图Api获取两地距离
完整代碼可以關(guān)注公眾號:Romi的雜貨鋪
1.獲取百度api接口
首先需要在百度的公眾平臺http://lbsyun.baidu.com/上點擊控制臺,如果是新用戶的話需要進行注冊和驗證。注冊和驗證完畢后可以點擊創(chuàng)建應(yīng)用,填寫應(yīng)用名稱等相關(guān)信息,應(yīng)用類型根據(jù)需要進行設(shè)置,有瀏覽器端和服務(wù)器端兩種。在這里特別說明的是,在IP白名單框里最好設(shè)置為:0.0.0.0/0,因為有時候把自己己的IP地址輸進去可能也不行。
創(chuàng)建應(yīng)用完成后我們就可以得到剛剛創(chuàng)建的應(yīng)用的密鑰(AK)
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):
'''返回經(jīng)緯度信息'''
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'] # 經(jīng)度
else:
print("Error output!")
return json_data['status']
return lat, lng
3.獲取起始地點的步行距離
def getdistance(startlat,startlng,endlat,endlng):
#{: .6f}保留小數(shù)點后六位
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)
這里通過api獲取的json文件中的結(jié)構(gòu)與說明文檔中的結(jié)構(gòu)有一些出入,所以還是要按照實際的情況靈活修改
總結(jié)
以上是生活随笔為你收集整理的python地图 两点距离_使用Python调用百度地图Api获取两地距离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 32位的cpu不能安装linux_Pyt
- 下一篇: join orcl的left_Oracl