百度地图简易版

首先按照百度地图官方文档配置

1、找到控件
 ed_k = (EditText) findViewById(R.id.ed_k); 
 ed_z = (EditText) findViewById(R.id.ed_z);
 btn_go = (Button) findViewById(R.id.btn_go); 
 mMapView = (MapView) findViewById(R.id.mMapView);
并设置成成员变量
2、设置地图
 baiduMap = mMapView.getMap();
 mSearch = RoutePlanSearch.newInstance(); 
 mSearch.setOnGetRoutePlanResultListener(this);
3、按钮监听方法内初始化
 baiduMap.clear();
 String start = ed_k.getText().toString(); 
 String des = ed_z.getText().toString();
 if (TextUtils.isEmpty(start)){ 
       Toast.makeText(this, "起点不能为空", Toast.LENGTH_SHORT).show(); return; 
   } 
 if (TextUtils.isEmpty(des)){ 
       Toast.makeText(this, "终点不能为空", Toast.LENGTH_SHORT).show(); 
       return; 
   } 
 mSearch.drivingSearch((new DrivingRoutePlanOption()).from(PlanNode.withCityNameAndPlaceName ("北京", start)).to(PlanNode.withCityNameAndPlaceName("北京", des))); 
4、粘贴一下方法
 @Override public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) { } @Override public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) { } @Override public void onGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) { } @Override public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) { if (drivingRouteResult == null || drivingRouteResult.error != SearchResult.ERRORNO.NO_ERROR) { if (drivingRouteResult.error.equals("NETWORK_ERROR")){ Toast.makeText(this, "网络未连接", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "抱歉,未找到结果", Toast.LENGTH_SHORT).show(); } } if (drivingRouteResult.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) { Toast.makeText(this, "非法地址", Toast.LENGTH_SHORT).show(); return; } if (drivingRouteResult.error == SearchResult.ERRORNO.NO_ERROR) { if (drivingRouteResult.getRouteLines().size() >= 1) { DrivingRouteOverlay overlay = new MyDrivingRouteOverlay(baiduMap); // mBaiduMap.setOnMarkerClickListener(overlay); overlay.setData(drivingRouteResult.getRouteLines().get(0)); overlay.addToMap(); overlay.zoomToSpan(); } else { Toast.makeText(this, "路线规划失败", Toast.LENGTH_SHORT).show(); } } } @Override public void onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) { } @Override public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) { } private class MyDrivingRouteOverlay extends DrivingRouteOverlay { public MyDrivingRouteOverlay(BaiduMap baiduMap) { super(baiduMap); } @Override public BitmapDescriptor getStartMarker() { return BitmapDescriptorFactory.fromResource(R.drawable.icon_st); } @Override public BitmapDescriptor getTerminalMarker() { return BitmapDescriptorFactory.fromResource(R.drawable.icon_en); } }

public class MainGuiHuaActivity extends AppCompatActivity implements View.OnClickListener, OnGetRoutePlanResultListener {

    private EditText ed_k;
    private EditText ed_z;
    private Button btn_go;
    private MapView mMapView;
    private BaiduMap baiduMap;
    private RoutePlanSearch mSearch;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_gui_hua);
        initView();
    }

    private void initView() {
        ed_k = (EditText) findViewById(R.id.ed_k);
        ed_z = (EditText) findViewById(R.id.ed_z);
        btn_go = (Button) findViewById(R.id.btn_go);
        mMapView = (MapView) findViewById(R.id.mMapView);
       

        btn_go.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_go:

                baiduMap.clear();
                String start = ed_k.getText().toString();
                String des = ed_z.getText().toString();
                if (TextUtils.isEmpty(start)){
                    Toast.makeText(this, "起点不能为空", Toast.LENGTH_SHORT).show();
                    return;
                }
                if (TextUtils.isEmpty(des)){
                    Toast.makeText(this, "终点不能为空", Toast.LENGTH_SHORT).show();
                    return;
                }
                mSearch.drivingSearch((new DrivingRoutePlanOption()).from(PlanNode.withCityNameAndPlaceName
                        ("北京", start)).to(PlanNode.withCityNameAndPlaceName("北京", des)));

                break;
        }
    }

    @Override
    public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {

    }

    @Override
    public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) {

    }

    @Override
    public void onGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) {

    }

    @Override
    public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) {
        if (drivingRouteResult == null || drivingRouteResult.error != SearchResult.ERRORNO.NO_ERROR) {
            if (drivingRouteResult.error.equals("NETWORK_ERROR")){
                Toast.makeText(this, "网络未连接", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(this, "抱歉,未找到结果", Toast.LENGTH_SHORT).show();
            }
        }
        if (drivingRouteResult.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
            Toast.makeText(this, "非法地址", Toast.LENGTH_SHORT).show();
            return;
        }
        if (drivingRouteResult.error == SearchResult.ERRORNO.NO_ERROR) {
            if (drivingRouteResult.getRouteLines().size() >= 1) {
                DrivingRouteOverlay overlay = new MyDrivingRouteOverlay(baiduMap);
//                mBaiduMap.setOnMarkerClickListener(overlay);
                overlay.setData(drivingRouteResult.getRouteLines().get(0));
                overlay.addToMap();
                overlay.zoomToSpan();
            } else {
                Toast.makeText(this, "路线规划失败", Toast.LENGTH_SHORT).show();
            }
        }
    }

    @Override
    public void onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) {

    }

    @Override
    public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) {

    }

    private class MyDrivingRouteOverlay extends DrivingRouteOverlay {
        public MyDrivingRouteOverlay(BaiduMap baiduMap) {
            super(baiduMap);
        }
        @Override
        public BitmapDescriptor getStartMarker() {
            return BitmapDescriptorFactory.fromResource(R.drawable.icon_st);
        }

        @Override
        public BitmapDescriptor getTerminalMarker() {
            return BitmapDescriptorFactory.fromResource(R.drawable.icon_en);
        }
    }
}
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值