Android拦截跳转地图导航,Android开发的 app 通过跳转到百度、高德、腾讯进行导航...

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

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

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

百度地图

// 获取gps定位坐标值

double[] bdGPS = myLocation.getLocPoint();

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

高德地图

// 获取gps定位坐标值

double[] gdGPS = myLocation.getLocPoint();

// 终点的显示名称 必要参数

String gbNavName = "终点";

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

腾讯地图

// 终点的经纬度坐标值

double[] txGPS = new double[]{43.81710,125.38332};

//终点的显示名称 必要参数

String txNavName = "终点";

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

标签:app,Uri,bdGPS,parse,Intent,跳转,bdNav,Android,高德

来源: https://blog.youkuaiyun.com/qq_19688207/article/details/112219651

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值