1.地理编码查询接口是单列模式的,我们需要调用让它自己实例化
// 在OnCreate方法里创建地理编码检索实例
GeoCoder geoCoder = GeoCoder.newInstance();
2.调用这个方法把你想要的经纬度传入
/**
* 经纬度或地址相互转换
*
* @param latlng
*/
private void latlngToAddress(LatLng latlng) {
// 设置反地理经纬度坐标,请求位置时,需要一个经纬度geoCoder.reverseGeoCode(new ReverseGeoCodeOption().location(latlng));
//设置地址或经纬度反编译后的监听,这里有两个回调方法,
geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
//经纬度转换成地址
@Overridepublic void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(getActivity(), "找不到该地址!",Toast.LENGTH_SHORT).show();
}
tv_address.setText("地址:" + result.getAddress());
}
@Override
public void onGetGeoCodeResult(GeoCodeResult result) {
// 详细地址转换在经纬度
String address=result.getAddress();
}});
}