Android 打开高德地图和百度地图

//高德地图应用包名
	public static final String AMAP_PACKAGENAME = "com.autonavi.minimap";
	//百度地图应用包名

public static final String BAIDUMAP_PACKAGENAME = "com.baidu.BaiduMap";


/**
     * 判断是否安装了某应用
     * @param packageName
     * @return
     */
    public static boolean isInstallByread(String packageName) {
        return new File("/data/data/" + packageName).exists();
    }

    /**
     * 打开百度地图
     * 协议规范 intent://product/[service/]action[?parameters]#Intent;scheme=bdapp;package=package;end
     //parameters功能参数定义,具体规范见功能协议说明
     * 文档地址:http://developer.baidu.com/map/uri-introandroid.htm
     * 现在使用的是高德地图是经纬度数据 火星坐标:gcj02
     * 百度地图的经纬度类型:默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。
     */
    public static void openBaiduMap(Activity activity,String title, String content, String lat, String log){
        try {

            if(isInstallByread(Constant.BAIDUMAP_PACKAGENAME)){
                Intent intent = Intent.getIntent("intent://map/marker?coord_type=gcj02&location="
                        +lat+","+log+"&title="+title+"&content="
                        +content+"&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
                activity.startActivity(intent); //启动调用
                Log.e("GasStation", "百度地图客户端已经安装") ;
            }else{
                ToastUtil.show(activity, "没有安装百度地图客户端");
                Log.e("GasStation", "没有安装百度地图客户端") ;
            }
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
    }

    /**
     * 打开高德地图
     * @param activity
     * @param name 目的地名称
     * @param lat 纬度
     * @param log 经度
     */
    public static void openGaoDeMap(Activity activity, String name, String lat, String log)
    {
        try
        {
            if(isInstallByread(Constant.AMAP_PACKAGENAME)) {
                Intent intent = Intent.getIntent("androidamap://viewMap?sourceApplication=全球旅拍&poiname=" + name + "&lat=" + lat + "&lon=" + log + "&dev=0");
                activity.startActivity(intent);
            }else {
                ToastUtil.show(activity, "没有安装高德地图客户端");
                Log.e("GasStation", "没有安装高德地图客户端") ;
            }
        } catch (URISyntaxException e)
        {
            e.printStackTrace();
        }
    }



你可能感兴趣的:(Android 打开高德地图和百度地图)