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

 

posted @ 2017-08-30 10:07  風巽千龍  阅读(596)  评论(0)    收藏  举报