1.首先要 初始化搜索模块,注册事件监听
GeoCoder mSearch = GeoCoder.newInstance();
mSearch.setOnGetGeoCodeResultListener(geocoderlistener);
LatLng latLng = new LatLng(40.904965, 116.327764);//随便写一个地理坐标
// 反Geo搜索
mSearch.reverseGeoCode(new ReverseGeoCodeOption()//注册监听事件
.location(latLng));
2.写个OnGetGeoCoderResultListener
OnGetGeoCoderResultListener geocoderlistener = new OnGetGeoCoderResultListener() {
@Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult arg0) {
// 不操作 地址转化为坐标的在这里操作
}
@Override
public void onGetGeoCodeResult(GeoCodeResult arg0) {
// TODO Auto-generated method stub
if (arg0 == null || arg0.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(MainActivity.this, "抱歉,未能找到结果", Toast.LENGTH_LONG)
.show();
return;
}
mBaiduMap.clear();
mBaiduMap.addOverlay(new MarkerOptions().position(arg0.getLocation())
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
mBaiduMap.setMapStatus(MapStatusUpdateFactory.newLatLng(arg0
.getLocation()));
Toast.makeText(MainActivity.this, arg0.getAddress(),//得到地址
Toast.LENGTH_LONG).show();
}
};
就是这麽简单就搞定了!!