Android百度地图开发(四)线路搜索

摘要:
1、 标记驾驶路线搜索1。首先,您需要定义起点和终点//定义起点和终点privateMKPlanNodestart;privateMKPlanNodeend;2.实例化地图查询类//实例化地图查询class mkSearch=newMKSearch();mkSearch。init(bMapManager,newMySearchListener());3.初始化起点和终点的坐标//构造起点和终点的坐标
一、标注驾车线路搜索

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.运行效果

Android百度地图开发(四)线路搜索第1张

二、行走路线搜索

行走路线主要用到了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();
        }

运行效果: Android百度地图开发(四)线路搜索第2张

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();
        }

免责声明:文章转载自《Android百度地图开发(四)线路搜索》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇优化笔记:pfyhparopenfundinfotest_D_20140916.gzAVR单片机教程——UART进阶下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

原生开发应用开发 Microsoft阵营的 Winform WinForm是·Net开发平台中对Windows Form的一种称谓。 如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样式表来讲,美化Winform的界面以及自定义控件是需要耗费更多的时间的。 WPF 基于XML+C#+CSS的呈现方式让它在UI上有了更加灵活的设计宽度 WPF...

[JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目

(1)项目导入JAR包:1、在项目目录里建立一个libs目录,将外部jar包拷贝在里面。2、右键点击项目,Bulid Path->Configure Build Path3、在设置Libraies项,选择刚才的位置添加jar包。3、在Order and Export项里,将外部jar包选中。4、clean项目后,重新编译,这时的apk包里应该是包含外...

安卓中的线程

 1. Android进程    在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现...

深入Android渲染机制

1.知识储备 CPU: 中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能.CPU将对象处理为多维图形,纹理(Bitmaps、Drawables等都是一起打包到统一的纹理). GPU:一个类似于CPU的专门用来处理Graphics的处理器, 作用用来帮助加快格栅化操作,当然,也有相应的缓存数据(例如缓存已经光栅化过的bitmap等)机制。 Open...

android自定义控件及自定义组合控件

一、构建自定义控件 构建自定义组件 Android中,你的应用程序程序与View类组件有着一种固定的联系,例如按钮(Button)、文本框(TextView),可编辑文本框(EditText),列表框(ListView),复选框(CheckBox),单选框(RadioButton),滚动条(Gallery),微调器(Spinner), 等等,还有一些比较先...

Android 聊天室(一)

         为了提高自己在Android开发上的能力,博主决定写一个类似于QQ、微信的聊天软件。不过,简单的想想之后发现,要实现这样的一个聊天软件,需要学习和掌握的东西还很多。作为一个Android开发的小白,也没有足够的实力能很快对这个APP的开发有很大的突破。          于是,博主参考《疯狂Android讲义》中关于“Android网络...