android項目使用了百度地圖的定位SDK,web端使用的也是高德地圖,發現安卓的定位提交到web顯示總是有誤差。後發現高德使用的座標系是“gcj02”也就是大家所說的“火星座標”,
百度使用的是“BD09”因爲是百度所用大家習慣稱之爲“百度座標” ,如何將bd09轉爲gcj02呢,突然想到在百度的定位sdk裏有這樣一段說明(來自百度地圖)
1
2
3
4
5
6
7
8
|
設置返回值的座標類型。 public void setCoorType ( String ) 我們支持返回若干種座標系,包括國測局座標系、百度座標系,需要更多座標系請聯繫我們,需要深度合作。目前這些參數的代碼爲。因此需要在請求時指定類型,如果不指定,默認返回百度座標系。注意當僅輸入IP時,不會返回座標。目前這些參數的代碼爲 返回國測局經緯度座標系 coor=gcj02 返回百度墨卡託座標系 coor=bd09 返回百度經緯度座標系 coor=bd09ll 百度手機地圖對外接口中的座標系默認是bd09ll,如果配合百度地圖產品的話,需要注意座標系對應問題。 |
也就是說百度這個定位sdk應該是可以直接返回gcj02座標的,這樣就可以直接在高德上使用了
代碼如下
1
2
|
LocationClientOption option = new LocationClientOption();
option.setCoorType( "gcj02" ); //如果是百度座標參數爲 bd0911
|