Python调用百度地图api路径查询
生活随笔
收集整理的這篇文章主要介紹了
Python调用百度地图api路径查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過調用百度地圖api獲取兩個地點的距離和時間。參數詳見百度地圖api官方文檔。
# -*- coding: utf-8 -*- """ Created on Thu May 17 14:22:23 2018 百度地圖api a1 坐標格式為:lat<緯度>,lng<經度>|lat<緯度>,lng<經度> a4 坐標類型,可選參數,默認為bd09ll。允許的值為:bd09ll(百度經緯度坐標)、 bd09mc(百度摩卡托坐標)、gcj02(國測局加密坐標)、wgs84(gps設備獲取的坐標 a5 只對駕車算路(driving)生效。 該服務為滿足性能需求,不含道路阻斷信息干預。 可選值:10: 不走高速;11:常規路線,即多數人常走的一條路線,不受路況影響;12: 距離較短(考慮路況):即距離相對較短的一條路線,但并不一定是一條優質路線。計算耗時時,考慮路況對耗時的影響;13: 距離較短(不考慮路況):路線同以上,但計算耗時時,不考慮路況對耗時的影響,可理解為在路況完全通暢時預計耗時。 注:除13外,其他tactics 的耗時計算都考慮實時路況 """ import json from urllib.request import urlopen import urllib s1="42.909089" s2="116.382668" t1="31.194255" t2="121.334198" a1=r"http://api.map.baidu.com/routematrix/v2/driving?output=json" a2=r"&origins="+s1+","+s2 a3=r"&destinations="+t1+","+t2 a4=r"&coord_type=wgs84" a5=r"&tactics=11" a6=r"&ak=abcdefghijklmnopqrstxyz" #a6為從百度地圖網站申請的api url=a1+a2+a3+a4+a5+a6#下面四行為url有漢字時的解決辦法 #name=u"北京西站" #s=urllib.parse.quote(name) #a=u"http://api.map.baidu.com/geocoder/v2/?address=%s&output=json&ak=2AGHayMtz8F9zlDimvRo1TCPbAKmzDfm"%(s)b = urlopen(url) c=b.read() result = json.loads(c) #結果示例,距離以米為單位,時間以秒為單位,除以3600為小時。message為是否成功。 #{'status': 0, 'result': #[{'distance': {'text': '1723.8公里', 'value': 1723771}, # 'duration': {'text': '19.5小時', 'value': 70279}}], # 'message': '成功'}#print(c["status"]) #print(c["result"][0]["distance"]["value"]/1000) #print(c["result"][0]["duration"]["value"]/60)?
總結
以上是生活随笔為你收集整理的Python调用百度地图api路径查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 08年度的佳作——《真・恋姫†無双》玩后
- 下一篇: OpenGL第六讲——动画