1.清除绘制的上一次的交通图层:
// 清除交通图层
if (routeOverlay != null) {
mMapView.getOverlays().remove(routeOverlay);
}
routeOverlay = new RouteOverlay(LocationOverlayDemo.this,
mMapView);
// 此处仅展示一个方案作为示例
routeOverlay.setData(res.getPlan(0).getRoute(0));
// 清除其他图层
// mMapView.getOverlays().clear();
// 添加路线图层
mMapView.getOverlays().add(routeOverlay);
2.图层的点击,实现接口,重写点击和长按的效果:
class TouchMyMapListener implements MKMapTouchListener {
@Override
public void onMapClick(GeoPoint geoPoint) {
// TODO Auto-generated method stub
Toast.makeText(LocationOverlayDemo.this,
geoPoint.getLatitudeE6() + ";" + geoPoint.getLongitudeE6(),
1000).show();
}
@Override
public void onMapDoubleClick(GeoPoint arg0) {
// TODO Auto-generated method stub
}
@Override
public void onMapLongClick(GeoPoint arg0) {
// TODO Auto-generated method stub
}
}
然后,在mapview中注册监听器就可以了。
mMapView.regMapTouchListner(touchMyMapListener);
3.获得所在详细地址:
初始化mksearch:
// 异步,将当前的定位点传递给mksearch的时候,得到转码的信息
@Override
public void onGetAddrResult(MKAddrInfo res, int error) {
// TODO Auto-generated method stub
if (error != 0) {
String str = String.format("错误