公司的所有项目都要集成百度地图,其中有一个功能,需要移动地图,然后选中地图随便一个地方就能获取地理位置信息。(不得不说,我在这个方面栽了很多跟头,后来好不容易查到解决方案,分享给大家)
1、初始化
GeoCoder geocoder = GeoCoder.newInstance();
geocoder.setOnGetGeoCodeResultListener(listener);
2.写监听事件
OnGetGeoCoderResultListener listener =new OnGetGeoCoderResultListener() {
public void onGetGeoCodeResult(GeoCodeResult result) {
if (result ==null || result.error != SearchResult.ERRORNO.NO_ERROR) {
//没有检索到结果
}
//获取地理编码结果
}
@Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {
if (result ==null || result.error != SearchResult.ERRORNO.NO_ERROR) {
//没有找到检索结果
}else {
tvLoc.setText("位置:" +result.getAddress()); //这边就是最终的地理位置信息了
}
//获取反向地理编码结果
}
};
3.在选中的位置的调用
ReverseGeoCodeOption optio =new ReverseGeoCodeOption();
optio.location(cLocation);
geocoder.reverseGeoCode(optio);
要是看不懂,可以加我qq,文档写的比较糙,希望你们能看懂... QQ:729134709