百度經緯度座標轉換官方方法
國內主流座標系類型:
主要有以下三種
WGS84:爲一種大地座標系,也是目前廣泛使用的GPS全球衛星定位系統使用的座標系;
GCJ02:是由中國國家測繪局制訂的地理信息系統的座標系統,是由WGS84座標系經加密後的座標系;又稱火星座標系。
BD09:百度座標系,在GCJ02座標系基礎上再次加密。其中BD09ll表示百度經緯度座標,BD09mc表示百度墨卡托米制座標。
百度地圖SDK在國內(包括港澳臺)使用的是BD09座標(定位SDK默認使用GCJ02座標);在海外地區,統一使用WGS84座標。開發者在使用百度地圖相關服務時,請注意選擇。
通用座標轉換方法(座標之間互轉)
1. GPS座標轉換成百度經緯度座標
/**
* 將GPS設備採集的原始GPS座標轉換成百度經緯度座標
* 即GPS座標轉換爲BD09LL座標
* @param sourceLatLng
* @return
*/
public static LatLng GPStoBD09LL(LatLng sourceLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordType.GPS);
converter.coord(sourceLatLng);
return converter.convert();
}
2. 火星座標系座標轉換成百度經緯度座標
/**
* 將火星座標系座標轉換成百度經緯度座標
* 即GCJ02座標轉換爲BD09LL座標
* @param sourceLatLng
* @return
*/
public static LatLng GCJ02toBD09LL(LatLng sourceLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordType.COMMON);
converter.coord(sourceLatLng);
return converter.convert();
}
3. 百度墨卡托米制座標系座標轉換成百度經緯度座標
/**
* 將百度墨卡托米制座標系座標轉換成百度經緯度座標
* 即BD09MC轉換成BD09LL
*
* @param sourceLatLng
* @return
*/
public static LatLng BD09MCtoBD09LL(LatLng sourceLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordType.BD09MC);
converter.coord(sourceLatLng);
return converter.convert();
}
注意:
在使用百度地圖開發的時候,需要確保定位返回的座標類型和地圖使用的座標類型保持一致。