//规划路线  Activity实现OnGetRoutePlanResultListener接口

private RoutePlanSearch routePlanSearch;

//这里传入 起点LatLng  和终点的LatLng
    private void guiHua(LatLng start,LatLng end){
        if (routePlanSearch==null) {
            routePlanSearch=RoutePlanSearch.newInstance();
            routePlanSearch.setOnGetRoutePlanResultListener(this);
        }
        DrivingRoutePlanOption option=new DrivingRoutePlanOption();

option.from(PlanNode.withLocation(start))
        .to(PlanNode.withLocation(end));
        routePlanSearch.drivingSearch(option);
    }

/**

实现OnGetRoutePlanResultListener接口 重写这几个方法

*/

//汽车
    @Override
    public void onGetBikingRouteResult(BikingRouteResult arg0) {
        // TODO Auto-generated method stub

}

//驾驶
    @Override
    public void onGetDrivingRouteResult(DrivingRouteResult result) {
        // TODO Auto-generated method stub
        if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
            Toast.makeText(mContext, "抱歉,未找到结果", Toast.LENGTH_SHORT).show();
        }
        if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
            // 起终点或途经点地址有岐义,通过以下接口获取建议查询信息
            // result.getSuggestAddrInfo()
            return;
        }
        if (result != null&&result.error == ERRORNO.NO_ERROR) {
            DrivingRouteOverlay overlay=null;
            List<DrivingRouteLine>list=result.getRouteLines();
            if (list.size()>0) {
                //获取驾车距离
                double juli=(double)list.get(0).getDistance()/1000;
                tv_juli.setText(juli+"km");

//这里将第一条路线显示在地图上
                overlay=new DrivingRouteOverlay(baiduMap);
                overlay.setData(list.get(0));
                overlay.addToMap();
                overlay.zoomToSpan();
            }

//这里将所有路线显示在地图上
//            for (DrivingRouteLine line:list) {
//                overlay=new DrivingRouteOverlay(baiduMap);
//                overlay.setData(line);
//                overlay.addToMap();
//                overlay.zoomToSpan();
//            }
        }

}

//公交
    @Override
    public void onGetTransitRouteResult(TransitRouteResult arg0) {
        // TODO Auto-generated method stub

}

//步行
    @Override
    public void onGetWalkingRouteResult(WalkingRouteResult result) {
        // TODO Auto-generated method stub
        // 获取步行线路规划结果
        if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
            Toast.makeText(mContext, "抱歉,未找到结果",
                    Toast.LENGTH_SHORT).show();
        }
        if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
            // 起终点或途经点地址有岐义,通过以下接口获取建议查询信息
            // result.getSuggestAddrInfo()
            return;
        }
        if (result.error == SearchResult.ERRORNO.NO_ERROR) {
            WalkingRouteOverlay overlay = new MyWalkingRouteOverlay(
                    baiduMap);

//这里同上(驾车)
            baiduMap.setOnMarkerClickListener(overlay);
            overlay.setData(result.getRouteLines().get(0));
            overlay.addToMap();
            overlay.zoomToSpan();
        }
    }

转载于:https://my.oschina.net/u/2471738/blog/809450

Android 百度地图获取两点之间的距离和推荐的驾车路线相关推荐

  1. android 百度地图获取城市,Android 百度地图获取两点之间的距离和推荐的驾车路线...

    //规划路线  Activity实现OnGetRoutePlanResultListener接口 private RoutePlanSearch routePlanSearch; //这里传入 起点L ...

  2. android 百度地图两点之间的距离计算,Android 百度地图 计算两点之间的距离

    注:Location类为自定义的实体类,里面包含latitude和longitude两个属性(Double类型) /** * 计算两点之间距离 * @param start * @param end ...

  3. 根据经纬度获取两点之间的距离 -- 腾讯地图(PHP后台)

    项目需求:根据经纬度获取两点之间的距离,我这里用的是腾讯地图的api php代码: /*** 利用腾讯地图api* 计算两点地理坐标之间的距离*/function getDistance(){$key ...

  4. Java对接高德地图计算距离_高德地图计算两点之间的距离java+html

    高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题.下面提供一个很好的解决方案. 代码如下: /** * 两点的经纬度获取两点距离米 * @param (121.293986,37.27 ...

  5. android 百度地图获取两个坐标的实际路线距离

    12.2    青岛  晴 前些天看了下百度地图的api,找到了几个不错的方法,拿出来分享下,导百度地图的jar包后项目较大,没法上传csdn,想要源码的留邮箱. 百度地图有个导航功能,可以获取到两个 ...

  6. java point类求两点间距离_JAVA 根据经纬度获取两点之间的距离(转载)

    原文https://blog.csdn.net/jk940438163/article/details/83147557 思路: 1. 地球本身是个不规则的球体,这里将其看着一个规制球体 2. 半径取 ...

  7. android百度地图获取经纬度

    首先登陆百度网址 百度地图开放平台 打开这个网页找到开发文档 这里有个获取经纬度, 在使用定位SDK进行具体开发工作之前,需获取密钥(AK),并对开发工程进行环境配置工作.详细介绍请参考项目创建部分的 ...

  8. Android 百度地图获取定位信息并实时传给后台

    最近公司提了一个小case,因为公司物流师傅配送完货物后,通常回仓库都是空车,而这是严重的资源浪费,所以领导就给了一个小case,实时定位司机路线,先建立司机行车档案,在考虑其他业务,反正也是比较空, ...

  9. Android百度地图获取海拔高度为4.9e-324

    项目中需要用到海拔高度,使用百度地图API的location获取到的altitude的数据为4.9e-324, 因为动态申请权限的时候,没有申请Manifest.permission.ACCESS_F ...

最新文章

  1. 《数学建模:基于R》一一2.2 方差分析
  2. putty php环境搭建,centos7(linux)系统下php搭建环境和创建laravel项目
  3. 涂抹mysql笔记-mysql复制特性
  4. jquery判断元素是否包含某class
  5. java如何驱动z4mplus打印二维码_斑马 Zebra 打印机驱动下载
  6. 计算机加经济学加自动化,MIT经济学家戳破机器人真相:除了能取代你,价值微乎其微...
  7. python multiprocessing.Lock 应用
  8. NoiseAsh Rule Tec All Collection for Mac(无源均衡器)
  9. JavaSE——Java8之四大函数式接口
  10. 程序流程图生成器 程序源代码生成/转换成流程图 函数调用关系图
  11. python网络爬虫网易云音乐guihub_Github获8300星!用Python开发的一个命令行的网易云音乐...
  12. struct Lnode *next
  13. 路由器硬件基础知识--MTU
  14. CentOS7修改ip的两种方法
  15. 强大测量功能,丰富参数测量
  16. uniapp使用ucharts图表及问题汇总
  17. Linux内核版本和发行版本
  18. EasyX 图片透明设置
  19. 全球与中国聚阴离子纤维素(PAC)市场深度研究分析报告
  20. 看不懂英文文献,怎么写论文?

热门文章

  1. 1.1用记事本创建JSP文件(超详细)
  2. flutter 加.then方法
  3. AD16盲埋孔、差分布线、蛇形布线基本使用
  4. transform动画
  5. lnmp 配置php,LNMP部署 thinkphp项目
  6. JRebel Eclipse激活教程
  7. 离线安装pytorch、opencv以及各种镜像安装库
  8. Java String类和常量池
  9. Merkle Patricia Tree 梅克尔帕特里夏树(MPT)规范(笔记)
  10. arcgis api for js入门开发系列十七在线地图(天地图、百度地图、高德地图)