2014年11月11日 星期二

[Android] 百度地圖 經緯度 轉 地址

轉百度經緯度方法如下

百度地图SDK采用的是百度自有的地理坐标系(bdll09),因此开发者在做位置标注的时候,需要将其他类型的坐标转换为百度坐标。相应的接口和转换方式如下:

//將谷歌地圖,搜搜地圖,阿里雲地圖,mapabc地圖和地圖AMAP//所用坐標轉換成百度坐標
CoordinateConverter轉換器=新CoordinateConverter();
converter.from(CoordType.COMMON);
// sourceLatLng待轉換坐標
converter.coord(sourceLatLng);
經緯度desLatLng= converter.convert();

//將GPS設備採集的原始GPS坐標轉換成百度坐標
CoordinateConverter轉換器=新CoordinateConverter();
converter.from(CoordType.GPS);
// sourceLatLng待轉換坐標
converter.coord(sourceLatLng);
經緯度desLatLng= converter.convert();

參考位置:http://developer.baidu.com/map/index.php?title=androidsdk/guide/tool


如此function ,把轉換好的經緯度貼呼叫好貼上即可

private String getBaibuAddress(final double StationLatitude, final double StationLongitude) {

GeoCoder coder = GeoCoder.newInstance();

ReverseGeoCodeOption reverseCode = new ReverseGeoCodeOption();
ReverseGeoCodeOption result = reverseCode.location(new LatLng(
StationLatitude, StationLongitude));
coder.reverseGeoCode(result);
coder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {

@Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {
String Address = result.getAddress();
}

@Override
public void onGetGeoCodeResult(GeoCodeResult result) {
String Address = result.getAddress();
}
});

return null;
}


沒有留言:

張貼留言