Android之调用第三方API导航(高德,百度,google)



-----------------转载请注明出处:http://blog.csdn.net/android_cll

一:先来几张效果图(点击路线调用API)、

Android之调用第三方API导航(高德,百度,google)
Android之调用第三方API导航(高德,百度,google)
Android之调用第三方API导航(高德,百度,google)

二:实现步骤:

1.判断是否安装各个地图软件
/**
 * 判断是否安装目标应用
 *
 * @param packageName 目标应用安装后的包名
 * @return 是否已安装目标应用
 */
private boolean isInstallByread(String packageName) {
    return new File("/data/data/" + packageName).exists();
}

2.调用相应的API、

/**
 * 调用高德API (xx,yy为终点经纬度)
 */
void setUpGaodeAppByMine(String xx, String yy) {
    try {
        Intent intent = Intent.getIntent("androidamap://route?sourceApplication=softname&sname=我的位置&dlat=" + xx + "&dlon=" + yy + "&dname=" + "终点" + "&dev=1&m=2&t=3");
        if (isInstallByread("com.autonavi.minimap")) {
            mContext.startActivity(intent);
        } else {
            Toast.makeText(mContext, "没有安装高德地图!", Toast.LENGTH_SHORT).show();
        }
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
}
//google地图
    intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://ditu.google.cn/maps?f=d&source=s_d&saddr= 30.6739968716,103.9602246880 &daddr=30.6798861599,103.9739656448&hl=zh"));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
    intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

//百度地图
    intent = Intent.getIntent("intent://map/place/search?query=梵净山®ion=铜仁&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");



-----------------------看到这相信你对Android调用第三方导航有所掌握,不喜勿喷、