//规划路线  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. PHP Mysql类【转】
  2. ITK:将itk :: Image转换为vtkImageData
  3. 使用不同版本的UI5库文件本地测试UI5应用
  4. 20165306 我期望的师生关系
  5. 每日一笑 | 如果把大脑看成CPU的话...
  6. Python3 基础学习笔记 C08 【类】
  7. python-study-17
  8. matlab读取xlsx文件,从电子表格读取数据
  9. 微软.NET程序员必上的网站
  10. 现在学java的都是傻子?
  11. 如何构建健全的信用评估体系
  12. cjson 对象是json数组型结构体_C语言cJSON库的使用,解析json数据格式
  13. Perl 6 真的太烦人了?
  14. Java-JUC(六):创建线程的4种方式
  15. 02-Swift学习笔记-元组类型
  16. element表格里面放图片_使用 VUE 把你的数据导出成 Excel 表格
  17. redis 慢消费_Redis精进:List的使用和应用场景
  18. python烧录单片机_mac实现烧写51单片机
  19. 服务器接口文档详细 接口文档模板 规范 完整
  20. @Zabbix配置snmptrap及使用snmptt解析格式化输出

热门文章

  1. 微软Surface叫板苹果iPad的六大优势
  2. Java 面试之数据库篇 (offer 拿来吧你)
  3. 语音合成(speech synthesis)方向五:多语言模型multi-lingual and code switch speech synthesis
  4. 日全食--21世纪最大规模的日全食
  5. 灾难恢复全攻略:从定级、规划到实施
  6. QT Creator快速入门读书笔记:窗口部件初探
  7. 【C#控件】MenuStrip控件(菜单控件)
  8. python之syslog学习 - 坏男孩 - 51CTO技术博客
  9. 数据结构与算法笔记——树(Tree)
  10. element tree的开发使用