Android开发的 app 通过跳转到百度、高德、腾讯进行导航

项目中遇到的一个需求,跳转外部App进行步行导航。分别是百度、高德、腾讯。

东西不难但是每次都要去官方文档找(有时候会更新一些字段)。

所以在此做下记录和分享。

百度地图

              

                // origin 起始点名称或经纬度
                // destination 目的地名称或经纬度
                // 以上二者至少其一有值,默认起始点为当前设备定位所在位置
              
                  // 获取gps定位坐标值
                double[] bdGPS = myLocation.getLocPoint();
                
                // bdGPS[0] -- 纬度
                // bdGPS[1] -- 经度
                Intent bdNav = new Intent();
               
                // 步行导航
                bdNav.setData(Uri.parse("baidumap://map/walknavi?origin="+bdGPS[0]+","+bdGPS[1]+"&destination=43.81710,125.38332&coord_type=bd09ll&src=andr.baidu.openAPIdemo"));
               // 骑行导航
               //bdNav.setData(Uri.parse("baidumap://map/bikenavi?origin="+bdGPS[0]+","+bdGPS[1]+"&destination=43.81710,125.38332&coord_type=bd09ll&src=andr.baidu.openAPIdemo"));
               // 驾车导航
               //bdNav.setData(Uri.parse("baidumap://map/navi?query=解放大路与人民大街交汇&src=andr.baidu.openAPIdemo"));
               startActivity(bdNav);

百度官方链接(http://lbsyun.baidu.com/index.php?title=uri/api/ios&qq-pf-to=pcqq.c2c

 

高德地图

                // 获取目的地gps定位坐标值
                double[] gdGPS = myLocation.getLocPoint();
                // 终点的显示名称 必要参数
                String gbNavName = "终点";
                // bdGPS[0] -- 目的地纬度
                // bdGPS[1] -- 目的地经度

                // dlat= 和 dlon= 后不写经纬度默认起始位置为当前设备所在定位位置
                Uri gdUri = Uri.parse("amapuri://route/plan/?dlat="+gdGPS[0]+"&dlon="+gdGPS[1]+"&dname="+gbNavName+"&dev=0&t=2");
                Intent gdNav =new Intent("android.intent.action.VIEW", gdUri);
                gdNav.addCategory("android.intent.category.DEFAULT");
                startActivity(gdNav);

高德官方链接高德(https://lbs.amap.com/api/amap-mobile/guide/android/route)

 

腾讯地图

                // 终点的经纬度坐标值
                double[] txGPS = new double[]{43.81710,125.38332};
                //终点的显示名称 必要参数
                String txNavName = "终点";

                // bdGPS[0] -- 纬度
                // bdGPS[1] -- 经度
                Uri txUri = Uri.parse("qqmap://map/routeplan?type=walk" +
                        "&to=" +txNavName
                        +"&tocoord=" + txGPS[0] +"," + txGPS[1]

                        +"&referer=呼唤");

                Intent txNav =new Intent();
                txNav.setData(txUri);
                startActivity(txNav);

腾讯官方链接腾讯(https://lbs.qq.com/uri_v1/guide-mobile-navAndRoute.html)


版权声明:本文为qq_19688207原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。