百度地图之地址信息和坐标的转换(二)
st.LENGTH_LONG).show();
}
if (res.type == MKAddrInfo.MK_REVERSEGEOCODE) {
// 反地理编码:通过坐标点检索详细地址及周边poi
String strInfo = res.strAddr;
Toast.makeText(GeoCoderActivity.this, strInfo,
Toast.LENGTH_LONG).show();
}
// 生成ItemizedOverlay图层用来标注结果点
ItemizedOverlay itemOverlay = new ItemizedOverlay(
null, mMapView);
// 生成Item
OverlayItem item = new OverlayItem(res.geoPt, "", null);
// 得到需要标在地图上的资源
Drawable marker = getResources().getDrawable(
R.drawable.icon_markf);
// 为maker定义位置和边界
marker.setBounds(0, 0, marker.getIntrinsicWidth(),
marker.getIntrinsicHeight());
// 给item设置marker
item.setMarker(marker);
// 在图层上添加item
itemOverlay.addItem(item);
// 清除地图其他图层
mMapView.getOverlays().clear();
// 添加一个标注ItemizedOverlay图层
mMapView.getOverlays().add(itemOverlay);
// 执行刷新使生效
mMapView.refresh();
}
public void onGetPoiResult(MKPoiResult res, int type, int error) {
}
public void onGetDrivingRouteResult(MKDrivingRouteResult res,
int error) {
}
public void onGetTransitRouteResult(MKTransitRouteResult res,
int error) {
}
public void onGetWalkingRouteResult(MKWalkingRouteResult res,
int error) {
}
public void onGetBusDetailResult(MKBusLineResult result, int iError) {
}
@Override
public void onGetSuggestionResult(MKSuggestionResult res, int arg1) {
}
@Override
public void onGetShareUrlResult(MKShareUrlResult result, int type,
int error) {
}
});
}
@Override
public void onClick(View v) {
if (v == mBtnGeoCode) {
// Geo搜索
mSearch.geocode(editGeoCodeKey.getText().toString(), editCity
.getText().toString());
}
if (v == mBtnReverseGeoCode) {
GeoPoint ptCenter = new GeoPoint((int) (Float.valueOf(lat.getText()
.toString()) * 1e6), (int) (Float.valueOf(lon.getText()
.toString()) * 1e6));
// 反Geo搜索
mSearch.reverseGeocode(ptCenter);
}
}
@Override
protected void onPause() {
mMapView.onPause();
super.onPause();
}
@Override
protected void onResume() {
mMapView.onResume();
super.onResume();
}
@Override
protected void onDestroy() {
mMapView.destroy();
super.onDestroy();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mMapView.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mMapView.onRestoreInstanceState(savedInstanceState);
}
}
布局XML:
< xml version="1.0" encoding="utf-8" >
配置文件同之前地图示例
附上图片效果: