項目中遇到一個需求需要用戶選擇調起百度或高德地圖進行導航 記錄一下
百度地圖
try {
LatLng startLatLng = new LatLng(39.940387, 116.29446);
LatLng endLatLng = new LatLng(39.87397, 116.529025);
String uri = String.format("baidumap://map/direction?origin=%s,%s&destination=" +
"%s,%s&mode=driving&src=com.34xian.demo", startLatLng.latitude, startLatLng.longitude,
endLatLng.latitude, endLatLng.longitude);
Intent intent = new Intent();
intent.setData(Uri.parse(uri));
startActivity(intent);
}
catch (ActivityNotFoundException e) {
ToastUtil.showShort(this, "請安裝百度地圖");
}
騰訊地圖
if (AppQQMapUtil.isInstalled()){
AppQQMapUtil.invokeNavi(mContext,"drive",null,null,null,地址名字,緯度+","+經度,null,"textApp");
}else {
ToastUtil.showToast(mContext,"尚未安裝騰訊地圖,請先下載安裝");
}
高德地圖
try {
String uri = String.format("amapuri://route/plan/?dlat=%s&dlon=%s&dname="+medicalBean.getName()+"&dev=0&t=0", gdLatitude, gdLongitude);
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(uri));
intent.setPackage("com.autonavi.minimap");
startActivity(intent);
}
catch (ActivityNotFoundException e) {
ToastUtil.showToast(mContext, "尚未安裝高德地圖,請先下載安裝");
}