2018-02-26 android 程序调用三方导航

private void launchNaviApp(String pkgName) {

    if (pkgName.equalsIgnoreCase(NavigatorProvider.AMAP_MAP)) {

        startOtherNavi("amap");

        Log.i(TAG,"launchNaviApp: 高德");

        return;

      }

    if (pkgName.equalsIgnoreCase(NavigatorProvider.BAIDU_MAP)) {

        startOtherNavi("baidu");

        Log.i(TAG,"launchNaviApp: 百度");

        return;

    }

     if (pkgName.equalsIgnoreCase(NavigatorProvider.CARELAND_NAVI)) {

        startOtherNavi("kailide");

        Log.i(TAG,"launchNaviApp: 凯立德");

        return;

        }

}



private void startOtherNavi(String type) {

Intent intent =null;

if (type.equals("amap")) {

StringBuffer stringBuffer =new StringBuffer("androidamap://navi?sourceApplication=").append("com.tima.cowin")

.append("&poiname=").append(endName).append("&lat=").append(endLatlng.getLatitude()).append("&lon=").append(endLatlng.getLongitude())

.append("&dev=").append(1).append("&style=").append(2);

intent =new Intent();

intent.setAction(Intent.ACTION_VIEW);

intent.addCategory(Intent.CATEGORY_DEFAULT);

Uri uri = Uri.parse(stringBuffer.toString());

intent.setData(uri);

}else if (type.equals("baidu")) {

double baidu_point_end[] = BaiduMapUtils.gcj02_To_Bd09(endLatlng.getLatitude(),endLatlng.getLongitude());

double baidu_point_start[] = BaiduMapUtils.gcj02_To_Bd09(currentLocation.getLatitude(),currentLocation.getLongitude());

intent =new Intent();

String uri ="baidumap://map/direction?origin=name:当前位置|latlng:"

                + baidu_point_start[0] +"," + baidu_point_start[1]//起始点经度

                +"&destination=" + baidu_point_end[0] +"," + baidu_point_end[1]//终点纬度

                +"&mode=driving";

intent.setData(Uri.parse(uri));

intent.setPackage("com.baidu.BaiduMap");

}

if (intent !=null) {

startActivity(intent);

}

}

你可能感兴趣的:(2018-02-26 android 程序调用三方导航)