第一步:判断是否安装地图APP
public static String PACKAGENAME_BD = "com.baidu.BaiduMap";//百度地图包名
public static String PACKAGENAME_GD = "com.autonavi.minimap";//高德地图包名
/**
* 是否安装地图APP
* @param context
* @param packgeName
* @return
*/
public boolean ifInstallMap(Context context, String packgeName) {
PackageInfo packageInfo = null;
try {
packageInfo = context.getPackageManager().getPackageInfo(packgeName, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (packageInfo == null) {
return false;
} else {
return true;
}
}
第二步 打开地图APP
/**高德地图**/
public void openMap(Context context) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
//将功能Scheme以URI的方式传入data(以下设置默认显示我的位置)
Uri uri = Uri.parse("androidamap://myLocation" +
"?sourceApplication=应用名app_name" +
"&poiname=fangheng" +
"&lat=39.909695" +
"&lon=116.470116" +
"&dev=1" +
"&style=2");
intent.setData(uri);
//启动该页面即可
context.startActivity(intent);
}
navi - 服务类型:(viewMap 地图标注;route 路径规划;bus 公交线路查询;keywordNavi 关键字导航;arroundpoi 周围分类;myLocation 我的位置;viewReGeo 逆地理编码;poi 搜素地点;openFeature 地铁图;rootmap 地图主图 )。
sourceApplication - 第三方调用应用名称
poiname - POI 名称
dev - 是否偏移( 0:lat 和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)。
style - 导航方式 (0 速度快; 1 费用少; 2 路程短; 3 不走高速;4 躲避拥堵;5 不走高速且避免收费;6 不走高速且躲避拥堵;7 躲避收费和拥堵;8 不走高速躲避收费和拥堵)。
参考:http://lbs.amap.com/api/amap-mobile/guide/android/marker
/**
* 打开百度地图App
* @param context
*/
public void openBdMap(Context context) {
Intent intent = new Intent();
//显示当前位置
intent.setData(Uri.parse("baidumap://map/show" +
"?center=39.909695,116.470116" +
"&traffic=on"));
context.startActivity(intent);
}
具体请参考:http://lbsyun.baidu.com/index.php?title=uri/api/android#2_.E6.8E.A5.E5.8F.A3.E8.AF.B4.E6.98.8E