1. 程式人生 > >百度地圖經緯度糾偏

百度地圖經緯度糾偏

我們把從GPS裝置接收的經緯度座標標記到電子地圖上時,會發現地圖上的位置和實際位置相差甚遠,除GPS裝置本身加偏外,電子地圖上的座標也不是真實的,要想正確顯示到地圖上,還必須將收到的加偏座標(俗稱火星座標)換算到地圖對應的座標,也就是我們常說的糾偏。

1.使用控制元件

如果和谷歌地圖一樣,有一個控制元件,直接傳入GPS座標得到地圖座標,那就省事了,通過正常途徑獲取控制元件的話,但是不是任何人都可以獲取控制元件。因此,本方法基本放棄。

2.百度地圖介面

百度網站提供了介面,只要通過http傳入GPS座標引數就可以獲得對應的地圖座標,該方法優點是方便準確,不足也很明顯,受網速、百度伺服器等影響,處理大量併發業務時力不從心。

API地址

http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=113.240324&y=23.817349

引數解釋

from=0:代表傳入的是真實經緯度

to=4:代表返回是百度糾偏後,能在百度地圖上正確顯示出該地址的經緯度

x:經度          

y:緯度

返回資料

{"error":0,"x":"MTEzLjI1MjIyMjUxOTg1","y":"MjMuODIwNjM5MTEyNDgy"}

返回的資料經過Base64加密,在網上找個線上Base64解密的網站就可以了。

3.本地資料庫

所謂的加偏,就是將gps上傳的座標加上一定的偏移量。這個偏移不是線性的,不同地區偏移不一樣,但同一地區偏移量卻差不多,因此,有人就使用了個暴力破解的方法,將全國按GPS座標分成很多小塊,然後查出每個小塊的偏移量,並儲存到資料庫裡面,需要糾偏時,先根據GPS座標取出對應區域的偏移量,反算出地圖座標。

優點:本地執行,速度快。

缺點:糾偏庫需要花錢買。