Android调起高德地图
生活随笔
收集整理的這篇文章主要介紹了
Android调起高德地图
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、Android打開高德地圖的方法匯總
System.out.println("乘客端經(jīng)緯度:" + mNaviTo.latitude + "," + mNaviTo.longitude);
/*** @param sourceApplication 必填 第三方調(diào)用應(yīng)用名稱。如 amap* @param poiname 非必填 POI 名稱* @param lat 必填 緯度* @param lon 必填 經(jīng)度* @param dev 必填 是否偏移(0:lat 和 lon 是已經(jīng)加密后的,不需要國測加密; 1:需要國測加密)* @param style 必填 導(dǎo)航方式(0 速度快; 1 費(fèi)用少; 2 路程短; 3 不走高速;4 躲避擁堵;5 不走高速且避免收費(fèi);6 不走高速且躲避擁堵;7 躲避收費(fèi)和擁堵;8 不走高速躲避收費(fèi)和擁堵))*/if (false) {//Uri mUri = Uri.parse("geo:" + mNaviTo.latitude + "," + mNaviTo.longitude + "?q=");Intent intent = null;try {intent = Intent.getIntent("androidamap://navi?sourceApplication=" + getString(R.string.app_name) + "&dname=aaaa&dlat=" + mNaviTo.latitude + "&dlon=" + mNaviTo.longitude + "&dev=1&style=0");} catch (URISyntaxException e) {e.printStackTrace();}// Intent intent = new Intent("android.intent.action.VIEW", mUri);startActivity(intent);
}
if (false) {StringBuffer stringBuffer = new StringBuffer("androidamap://navi?sourceApplication=").append(getString(R.string.app_name)).append("&dlat=").append(mNaviTo.latitude).append("&dlon=").append(mNaviTo.longitude).append("&dev=").append(1).append("&style=").append(0);Intent intent = new Intent(Intent.ACTION_VIEW, android.net.Uri.parse(stringBuffer.toString()));intent.addCategory(Intent.CATEGORY_DEFAULT);intent.setPackage("com.autonavi.minimap");startActivity(intent);
}if (false) {Intent intent = null;try {intent = Intent.getIntent("androidamap://viewReGeo?sourceApplication=HQMC&lat=" + mNaviTo.latitude + "&lon=" + mNaviTo.longitude + "&dev=0");} catch (URISyntaxException e) {e.printStackTrace();}startActivity(intent); //啟動(dòng)調(diào)用
}if (false) {try {Intent intent = Intent.getIntent("androidamap://route?sourceApplication=softname&sname=我的位置&dlat=" + mNaviTo.latitude + "&dlon=" + mNaviTo.longitude + "&dname=" + "東郡華城廣場|A座" + "&dev=0&m=0&t=1");startActivity(intent); //啟動(dòng)調(diào)用} catch (URISyntaxException e) {e.printStackTrace();}
}if (false) {Intent intent = new Intent("android.intent.action.VIEW",android.net.Uri.parse("androidamap://showTraffic?sourceApplication=softname&poiid=BGVIS1&lat=" + mNaviTo.latitude + "&lon=" + mNaviTo.longitude + "&level=10&dev=0"));intent.setPackage("com.autonavi.minimap");startActivity(intent);}
if (true) {// 構(gòu)造導(dǎo)航參數(shù)NaviPara naviPara = new NaviPara();// 設(shè)置終點(diǎn)位置naviPara.setTargetPoint(new LatLng(mNaviTo.latitude, mNaviTo.longitude));// 設(shè)置導(dǎo)航策略,這里是避免擁堵naviPara.setNaviStyle(com.amap.api.maps.AMapUtils.DRIVING_AVOID_CONGESTION);try {// 調(diào)起高德地圖導(dǎo)航com.amap.api.maps.AMapUtils.openAMapNavi(naviPara, getContext().getApplicationContext());} catch (Exception e) {}
if (true) {//實(shí)現(xiàn)路線選擇,多條路線可選擇String uriString = null;StringBuilder builder = new StringBuilder("amapuri://route/plan?sourceApplication=maxuslife");builder.append("&dlat=").append(mNaviTo.latitude).append("&dlon=").append(mNaviTo.longitude).append("&dname=").append(mTvTopStart.getText().toString()).append("&dev=0").append("&t=0");uriString = builder.toString();Intent intent = new Intent(Intent.ACTION_VIEW);intent.setPackage("com.autonavi.minimap");intent.setData(Uri.parse(uriString));startActivity(intent);}
}
//調(diào)起百度地圖
else if (msg.equals("百度地圖")) {if (ToolKt.isAvilible(getContext(), "com.baidu.BaiduMap")) {LngLat lngLat = new LngLat(mNaviTo.longitude, mNaviTo.latitude);LngLat bd_encrypt = bd_encrypt(lngLat);StringBuilder builder = new StringBuilder("baidumap://map/direction?mode=driving&");builder.append("&destination=latlng:").append(bd_encrypt.getLantitude()).append(",").append(bd_encrypt.getLongitude()).append("|name:").append(mTvTopStart.getText().toString());String uriString = builder.toString();Intent intent = new Intent(Intent.ACTION_VIEW);intent.setPackage("com.baidu.BaiduMap");intent.setData(Uri.parse(uriString));startActivity(intent);} else {toast("請安裝百度地圖");}?
二、判斷是否安裝某個(gè)軟件
/*** 判斷是否安裝某個(gè)軟件*/ fun isAvilible(context: Context, packageName: String): Boolean {//獲取packagemanagerval packageManager = context.packageManager//獲取所有已安裝程序的包信息val packages = packageManager.getInstalledPackages(0)//用于存儲所有已安裝程序的包名val arrayList = ArrayList<String>()//從pinfo中將包名字逐一取出,壓入pName list中if (packages != null) {for (p: PackageInfo in packages) {val p = p.packageNamearrayList.add(p)}}//判斷packageNames中是否有目標(biāo)程序的包名,有TRUE,沒有FALSEreturn arrayList.contains(packageName); }總結(jié)
以上是生活随笔為你收集整理的Android调起高德地图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界基岩版json_Editing
- 下一篇: css 科技 边框_CSS3实现发光边框