Android之app集成地图,跳转第三方地图导航 整理

app集成地图,跳转第三方地图导航 整理

直接上代码,方便使用:

 

/**
* 检查手机上是否安装了指定的软件
* @param context
* @param packageName:应用包名
* @return
*/
public static boolean isAvilible(Context context, String packageName){
    //获取packagemanager
    final PackageManager packageManager = context.getPackageManager();
    //获取所有已安装程序的包信息
    List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
    //用于存储所有已安装程序的包名
    List<String> packageNames = new ArrayList<String>();
    //从pinfo中将包名字逐一取出,压入pName list中
    if(packageInfos != null){
        for(int i = 0; i < packageInfos.size(); i++){
            String packName = packageInfos.get(i).packageName;
            packageNames.add(packName);
        }
    }
    //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE
    return packageNames.contains(packageName);
}
百度:com.baidu.BaiduMap(包名)

 

 

public static void baiduNavagition(Context context,String city,String lat,String lon){
    try {
        intent = Intent.getIntent("intent://map/direction?" +
                //"origin=latlng:"+"34.264642646862,108.95108518068&" +   //起点  此处不传值默认选择当前位置
                "destination=latlng:"+lat+","+lon+"|name:我的目的地"+        //终点
                "&mode=driving&" +          //导航路线方式
                "region="+city +           //
                "&src=app名字#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
        context.startActivity(intent); //启动调用
    } catch (URISyntaxException e) {
        Log.e("intent", e.getMessage());
    }
}

 

高德:com.autonavi.minimap(包名)

 

public static void gaodeNavagition(Context context,String lat,String lon){
    try{
        intent = Intent.getIntent("androidamap://navi?sourceApplication=app名字&poiname=我的目的地&lat="+lat+"&lon="+lon+"&dev=0");
        context.startActivity(intent);
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
}
谷歌:com.google.android.apps.maps(包名)

 

 

public static void guge(Context context,String lat,String lon){
        Uri gmmIntentUri = Uri.parse("google.navigation:q="+lat+","+lon+", + Sydney +Australia");
        Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
        mapIntent.setPackage("com.google.android.apps.maps");
        context.startActivity(mapIntent);
}
百度跳转下载应用:

 

 


Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap");
intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
高德跳转下载应用:

 

 

Uri uri = Uri.parse("market://details?id=com.autonavi.minimap");
intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
谷歌跳转下载应用:

 

 

Uri uri = Uri.parse("market://details?id=com.google.android.apps.maps");
intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);  }
posted @ 2018-06-16 10:57  sundaysios  阅读(1452)  评论(0)    收藏  举报