這篇文章主要介紹了如何調(diào)用百度地圖API實現(xiàn)坐標轉(zhuǎn)換,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)服務(wù)項目包括通榆網(wǎng)站建設(shè)、通榆網(wǎng)站制作、通榆網(wǎng)頁制作以及通榆網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,通榆網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到通榆省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Python代碼
因為不同的地圖使用的經(jīng)緯度坐標系不同(如百度地圖使用的是百度坐標,高德、谷歌等使用的是GCJ-02坐標),所以在實際應(yīng)用中需要進行不同坐標的轉(zhuǎn)化,不然將百度經(jīng)緯度的點畫在高德地圖上,會出現(xiàn)位置偏移。
實現(xiàn)百度坐標向高德坐標轉(zhuǎn)化有兩種方法,一種就像調(diào)用百度地圖API一樣,調(diào)用高德API接口實現(xiàn)坐標變換,另一種可以直接通過計算實現(xiàn)轉(zhuǎn)化。
調(diào)用高德API接口
#通過web api 將百度經(jīng)緯度轉(zhuǎn)換為高德經(jīng)緯度def getGCJ02(lng,lat): url = 'https://restapi.amap.com/v3/assistant/coordinate/convert?coordsys=baidu&output=json&key=' ak = '你的ak' #生成完整url uri = url + ak + '&locations=' + str(lng) + ',' + str(lat) html = requests.get(uri)#獲取網(wǎng)頁內(nèi)容 bs_getDetail = BeautifulSoup(html.text,'lxml') #解析網(wǎng)頁 #找到存放經(jīng)緯度數(shù)據(jù)的文字,轉(zhuǎn)換為字典,取得相應(yīng)經(jīng)緯度 location = eval(bs_getDetail.p.text)["locations"] return location
也可以通過直接計算得到相關(guān)結(jié)果,這里注意要提前加載math庫。
#通過計算將百度經(jīng)緯度轉(zhuǎn)換為高德經(jīng)緯度def getGCJ02_2(lng, lat): PI = math.pi * 3000.0 / 180.0; x = lng - 0.0065; y = lat - 0.006; z = math.sqrt(x * x + y * y) - 0.00002 * math.sin(y * PI); theta = math.atan2(y, x) - 0.000003 * math.cos(x * PI); gg_lng = z * math.cos(theta); gg_lat = z * math.sin(theta); return str(list([gg_lng, gg_lat]))
[120.30092835093511, 30.429908332211145]->[120.2943448753952, 30.424254963690057]
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何調(diào)用百度地圖API實現(xiàn)坐標轉(zhuǎn)換”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
網(wǎng)站欄目:如何調(diào)用百度地圖API實現(xiàn)坐標轉(zhuǎn)換
轉(zhuǎn)載注明:http://jinyejixie.com/article14/joppde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣、服務(wù)器托管、品牌網(wǎng)站制作、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)