项目中遇到的一个需求,跳转外部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版权协议,转载请附上原文出处链接和本声明。