//高德地图应用包名
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();
}
}