使用百度地圖API進行座標系轉換

     最近在作移動APP的定位功能的時候發現系統GPS獲取的位置信息再從百度地圖API獲取的實際地址老是有偏差,偏離了好幾個街道,但百度地圖自己沒這個問題。在網上查找一番發現了地圖的座標系一說,下面簡單介紹一下主流的座標系:javascript

  1.GCJ-02   俗稱火星座標系,由中國國家測繪局制訂的地理信息系統的座標系統。通常中國官方發佈的地圖上標註的經緯度都是這種座標系的,與實際經緯度有誤差。java

  2.WGS84:World Geodetic System 1984,俗稱地球座標系,是爲GPS全球定位系統使用而創建的座標系統。通常手持設備(好比手機)從GPS衛星獲取的座標系就是這個座標系。google地圖、soso地圖、aliyun地圖、mapabc地圖和amap地圖所用此座標api

  3.墨卡託(Mercator)座標系,是由荷蘭地圖學家墨卡託(Mercator)在1569年擬定,假設地球被圍在一箇中空的圓柱裏,其赤道與圓柱相接觸,而後再假想地球中心有一盞燈,把球面上的圖形投影到圓柱體上,再把圓柱體展開,這就是一幅標準緯線爲零度(即赤道)的「墨卡託投影」繪製出的世界地圖。google

   4.BD-09 百度座標系,百度在GCJ-02要求加密的基礎上,又本身對座標加密了一次。加密

  

  咱們正常使用的時候調用須要根據不一樣的地圖類型進行座標轉換 百度地圖提供了這個轉換API:spa

  http://developer.baidu.com/map/changeposition.htmhtm

  例如:http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924;114.21892734521,29.575429778924&from=1&to=5&ak=你的密鑰blog

  返回:接口

{
    status : 0,
    result :
    [
        {
            x : 114.23074871003,
            y : 29.579084787993
        },
        {
            x : 114.23075628327,
            y : 29.579081090996
        }
    ]
}

  在根據返回的座標調用百度地圖的API 就能返回準確的地址了。ip

  

  百度的API上有段話:

  注:本接口支持回調。另外,同一個GPS座標屢次轉爲百度座標時,每次轉換結果都不徹底同樣,偏差在2米範圍內,屬於正常偏差,不影響正常使用。

   呵呵~

相關文章
相關標籤/搜索