百度地址主要通过GeoCoder来获取经纬度附近信息,包括所在地址
初始化GeoCoder
private GeoCoder geoCoder;
private void initGeoCoder() {
geoCoder = GeoCoder.newInstance();
geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
@Override
public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) {
}
@Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) {
if (reverseGeoCodeResult == null
|| reverseGeoCodeResult.error != SearchResult.ERRORNO.NO_ERROR) {
// 没有检测到结果
return;
}
ReverseGeoCodeResult.AddressComponent addressDetail = reverseGeoCodeResult.getAddressDetail();
//需要的地址信息就在AddressComponent 里
}
});
}
发起检索
/**
* 检索经纬度所在地址
* @param latLng 经纬度信息
*/
private void search(LatLng latLng) {
geoCoder.reverseGeoCode(new ReverseGeoCodeOption().location(latLng).pageNum(0).pageSize(100));
}
参考类:
http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/V5.2.1.1/index.html
http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/V5.2.1.1/index.html