日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

高德地图接口调用

發(fā)布時(shí)間:2023/12/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高德地图接口调用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

高德地圖api的調(diào)用方法


前言

高德地圖開(kāi)放平臺(tái)有很多提供開(kāi)發(fā)者使用的工具,https://lbs.amap.com/,訪問(wèn)官網(wǎng)注冊(cè)。

一、創(chuàng)建應(yīng)用獲取key,選擇api類(lèi)型


在開(kāi)放平臺(tái)里面注冊(cè)后,打開(kāi)我的應(yīng)用,并創(chuàng)建應(yīng)用,回到首頁(yè)點(diǎn)擊開(kāi)發(fā)支持里的web服務(wù)API,里面有大量的說(shuō)明文檔和類(lèi)型接口,開(kāi)發(fā)者可以根據(jù)實(shí)際情況選擇,操作上基本上大同小異。


二、使用步驟

這里以調(diào)用路徑規(guī)劃里的騎行路徑規(guī)劃為例子。

1.分析接口組成(參數(shù)類(lèi)型,含義等)


這里提到一個(gè)url和get方法,還有一些必要參數(shù),下面直接上代碼: import requests # 導(dǎo)入requests import re # 正則等下會(huì)應(yīng)用到提參 if __name__ == '__main__':url = 'https://restapi.amap.com/v4/direction/bicycling?'params = {'key': 'c26090cfad60515aa67024f2c4c644db', # 應(yīng)用key值'origin': 'origin', # 輸入起點(diǎn)經(jīng)緯度'destination': 'destination', # 輸入終點(diǎn)經(jīng)緯度'output': 'json'# 輸出格數(shù) 可以是xml 這里為了方便直接json}r = requests.get(url=url, params=params).text # get請(qǐng)求后面除了帶上url,還有參數(shù)集params

pycharm輸出:


json如下:


是不是很亂,下面我們來(lái)清洗數(shù)據(jù)


2.分析json屬性值

代碼如下(示例):

"destination":"116.465302,40.004717","origin":"116.481028,39.989643" "paths"[] "orientation""" . . . @等等,包括方向,距離,道路名稱(chēng)的都是需要的吧 @這里直接用上正則來(lái)匹配它們,為什么不用xpath,bs4?后者對(duì)于json格式來(lái)說(shuō)操作性不靈活,所以這里直接上手正則distance_data = '"distance":(.*?),' duration_data = '"duration":(.*?),' action_data = '"action":"(.*?)"' instruction_data = '"instruction":"(.*?)"' orientation_data = '"orientation":"(.*?)"' polyline_data = '"polyline":"(.*?)"' road_data = '"instruction":"(.*?)"' steps_data = '"steps":(.*?),"errcode"'distance_list = re.findall(distance_data, r) duration_list = re.findall(duration_data, r) action_list = action_debug instruction_list = re.findall(instruction_data, r) orientation_list = re.findall(orientation_data, r) polyline_list = re.findall(polyline_data, r) road_list = re.findall(road_data, r)

3.每種屬性值提取后,可以優(yōu)化使用

n = len(action_debug)print('一共' + str(n) + '步')for a in range(n):print("第" + str(a) + '步')distance_list = re.findall(distance_data, r)[a]duration_list = re.findall(duration_data, r)[a]action_list = action_debug[a]instruction_list = re.findall(instruction_data, r)[a]orientation_list = re.findall(orientation_data, r)[a]polyline_list = re.findall(polyline_data, r)[a]road_list = re.findall(road_data, r)[a]

給一個(gè)循環(huán)讓輸出值按一步步來(lái)實(shí)現(xiàn),更加直觀。


origin = input('inter a origin: ' + str(''))destination = input('inter a destination: ' + str(''))'origin': origin,'destination': destination,

經(jīng)緯度可以自由填寫(xiě)


全部代碼

import requests import redistance_data = '"distance":(.*?),' duration_data = '"duration":(.*?),' action_data = '"action":"(.*?)"' instruction_data = '"instruction":"(.*?)"' orientation_data = '"orientation":"(.*?)"' polyline_data = '"polyline":"(.*?)"' road_data = '"instruction":"(.*?)"' steps_data = '"steps":(.*?),"errcode"'origin = input('inter a origin: ' + str('')) destination = input('inter a destination: ' + str(''))if __name__ == '__main__':url = 'https://restapi.amap.com/v4/direction/bicycling?'params = {'key': 'c26090cfad60515aa67024f2c4c644db','origin': origin,'destination': destination,'output': 'json'}r = requests.get(url=url, params=params).textprint(r)steps_list = re.findall(steps_data, r)[0]action_debug = re.findall(action_data, r)str_list = ['']n = len(action_debug)print('一共' + str(n) + '步')for i in range(n):if action_debug[i] in str_list:action_debug[i] = 'none'print(action_debug)for a in range(n):print("第" + str(a) + '步')distance_list = re.findall(distance_data, r)[a]duration_list = re.findall(duration_data, r)[a]action_list = action_debug[a]instruction_list = re.findall(instruction_data, r)[a]orientation_list = re.findall(orientation_data, r)[a]polyline_list = re.findall(polyline_data, r)[a]road_list = re.findall(road_data, r)[a]print(distance_list, duration_list, action_list, instruction_list, orientation_list, polyline_list, road_list)

總結(jié)

以上是生活随笔為你收集整理的高德地图接口调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。