一、标注驾车线路搜索

1.首先需要定义一个起点和一个终点

    // 定义一个起始点和终点    private MKPlanNode start;    private MKPlanNode end;

2.实例化地图查询类

        // 实例化地图的查询类        mkSearch = new MKSearch();        mkSearch.init(bMapManager, new MySearchListener());

3.初始化起点和终点的坐标

        // 给起始点和终点构建一个坐标        start = new MKPlanNode();        start.pt = new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6));        end = new MKPlanNode();        end.pt = new GeoPoint(40057031, 116307852);

4.驾车路线的优先策略

        // 驾车路线考虑的优先策略        mkSearch.setDrivingPolicy(MKSearch.EBUS_TIME_FIRST);// 时间优先        mkSearch.drivingSearch(null, start, null, end);

5.驾车路线主要用到了onGetDrivingRouteResult()方法;

        @Override        public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {            // TODO Auto-generated method stub            if (arg0 == null) {                return;            }            RouteOverlay routeOverlay = new RouteOverlay(MainActivity.this,                    mapView);            // 两点的驾车路线会有多条            routeOverlay.setData(arg0.getPlan(0).getRoute(0));            mapView.getOverlays().add(routeOverlay);            mapView.invalidate();        }

6.运行效果

二、行走路线搜索

行走路线主要用到了onGetWalkingRouteResult()非法

        @Override        public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {            // TODO Auto-generated method stub            if (arg0 == null) {                return;            }            RouteOverlay routeOverlay = new RouteOverlay(MainActivity.this, mapView);            // 两点的驾车路线会有多条,采用第一种方案            routeOverlay.setData(arg0.getPlan(0).getRoute(0));            mapView.getOverlays().add(routeOverlay);            mapView.invalidate();        }

运行效果:

3.公交换乘线路搜索:

公交换乘线路搜索需要用到onGetTransitRouteResult()方法:

        @Override        public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {            // TODO Auto-generated method stub            if (arg0 == null) {                return;            }            RouteOverlay routeOverlay = new RouteOverlay(MainActivity.this, mapView);            // 两点的驾车路线会有多条,采用第一种方案            routeOverlay.setData(arg0.getPlan(0).getRoute(0));            mapView.getOverlays().add(routeOverlay);            mapView.invalidate();        }

更多相关文章

  1. Android百度地图——路线规划搜索(二)
  2. android最佳学习路线,学习心得
  3. 大学新生---Java学习路线图
  4. Android(安卓)从入门到资深学习路线
  5. Android(安卓)进阶路线知识图谱+干货资料收集
  6. Android通过手势实现图片按照指定路径移动
  7. 完整版仿360等手机卫士火箭拖动版
  8. Android自定义动画框架让View实现Path动画
  9. 扔掉USB线,无需无线路由器,利用笔记本电脑(Win7系统)快速连接你的And

随机推荐

  1. Win10下mysql 8.0.15 安装配置图文教程
  2. win10家庭版64位下mysql 8.0.15 安装配置
  3. MySQL在不知道列名情况下的注入详解
  4. MYSQL本地安装以及出现的问题解决
  5. mysql 8.0.15 安装配置图文教程
  6. MySQL5.7中的JSON基本操作指南
  7. win10下MySQL 8.0登录Access denied for
  8. mysql 8.0.15 安装配置方法图文教程
  9. MLSQL编译时权限控制示例详解
  10. 如何合理使用数据库冗余字段的方法