Android筆記:百度地圖與高德地圖座標轉換問題

Android筆記:百度地圖與高德地圖座標轉換問題

 

安卓項目使用了百度地圖的定位SDK,web端使用的也是百度地圖, 後來發現界面顯示百度地圖不如高德效果好,web改用高德地圖,本來的百度地圖座標是能夠直接使用的,因爲高德和百度地圖的座標系不一致 要如何轉換呢。html

補充了下座標系知識後發現高德使用的座標系是「gcj02」也就是你們所說的「火星座標」,java

百度使用的是「BD09」由於是百度所用你們習慣稱之爲「百度座標」  ,如何將bd09轉爲gcj02呢,忽然想到在百度的定位sdk裏有這樣一段說明(來自百度地圖android

?
1
2
3
4
5
6
7
8
設置返回值的座標類型。
public void setCoorType ( String )
咱們支持返回若干種座標系,包括國測局座標系、百度座標系,須要更多座標系請聯繫咱們,須要深度合做。目前這些參數的代碼爲。所以須要在請求時指定類型,若是不指定,默認返回百度座標系。注意當僅輸入IP時,不會返回座標。目前這些參數的代碼爲
  
返回國測局經緯度座標系 coor=gcj02
返回百度墨卡託座標系 coor=bd09
返回百度經緯度座標系 coor=bd09ll
百度手機地圖對外接口中的座標系默認是bd09ll,若是配合百度地圖產品的話,須要注意座標系對應問題。

 

也就是說百度這個定位sdk應該是能夠直接返回gcj02座標的,這樣就能夠直接在高德上使用了 web

代碼以下post

?
1
2
LocationClientOption option = new LocationClientOption();
option.setCoorType( "gcj02" ); //若是是百度座標參數爲 bd0911

看來百度公司對於SDK使用中發現這塊要比高德作的好一些,因此纔會出現儘管高德地圖數據不錯但在開發中仍是百度地圖摘得頭彩。url

相關文章
相關標籤/搜索