android调用第三方地图软件进行导航
@JavascriptInterface public void selectMapApp(String type,String lng,String lat){ try { if("baidu".equals(type)){//调起百度地图客户端 if (isInstallByread("com.baidu.BaiduMap")) {
//将火星坐标系转换成百度坐标系 HashMap<String, Double> map=PositionTool.gcj02_To_Bd09(Double.valueOf(lat),Double.valueOf(lng)); Intent intent = Intent.getIntent("baidumap://map/direction?destination="+map.get("lat")+","+map.get("lng")+"&mode=transit&sy=5&index=0&target=1"); //Intent intent = Intent.getIntent("baidumap://map/direction?destination=西直门&mode=transit&sy=5&index=0&target=1"); startActivity(intent); // 启动调用 } } if("gaode".equals(type)){//调起高德地图客户端 if (isInstallByread("com.autonavi.minimap")) { Intent intent = new Intent(); intent.setData(Uri.parse("androidamap://route?sourceApplication=amap&sname=我的位置&dlat="+lat+"&dlon="+lng+"&dname=维修点&dev=0&t=1")); startActivity(intent); // 启动调用 } } } catch (URISyntaxException e) { e.printStackTrace(); } } /** * 判断是否安装目标应用 * @param packageName 目标应用安装后的包名 * @return 是否已安装目标应用 */ private boolean isInstallByread(String packageName) { return new File("/data/data/" + packageName).exists(); }
作者:風巽千龍

浙公网安备 33010602011771号