Skip to content

Instantly share code, notes, and snippets.

@stilllisisi
Last active February 18, 2020 02:59
Show Gist options
  • Select an option

  • Save stilllisisi/4c1785abffb5f639f1abf98b9ee862f4 to your computer and use it in GitHub Desktop.

Select an option

Save stilllisisi/4c1785abffb5f639f1abf98b9ee862f4 to your computer and use it in GitHub Desktop.
【Android-地图/定位】唤起高德地图导航、唤起百度地图导航
/**判断是否安装目标应用*/
private boolean isInstallByread(String packageName) {
return new File("/data/data/" + packageName)
.exists();
}
/**
* 判断和打开地图
*/
public void navigationMap() {
//1.两个地图都安装了,让用户选择
boolean installBaidu = isInstallByread("com.baidu.BaiduMap");
boolean installAmap = isInstallByread("com.autonavi.minimap");
if (installBaidu && installAmap) {//两个地图都安装了 让用户进行选择
showSelectMap();
} else if (installBaidu) {//安装了百度地图
startBaiduMap();
} else if (installAmap) {//安装了高德地图
startAmapMap();
} else {//两个地图都没安装,使用web Api进行导航,不建议实现
//startWebMap();
T.showToast(mActivity, "您的手机未安装高德地图或者百度地图");
}
}
/**
* 唤起高德地图
*/
private void startAmapMap() {
try {
Intent intent = new Intent("android.intent.action.VIEW",
android.net.Uri.parse("androidamap://route?sourceApplication=导航demo" +
"&dlat=" + mEndLat +
"&dlon=" + mEndLng +
"&dname=" + name +
"&dev=0&t=2"));
intent.setPackage("com.autonavi.minimap");
mActivity.startActivity(intent);
} catch (Exception e) {
T.showToast(mActivity, "调起高德地图失败");
}
}
/**
* 移动APP调起Android百度地图方式
*/
private void startBaiduMap() {
try {
Intent intent = new Intent();
intent.setData(Uri.parse("baidumap://map/direction?destination=name:" + name + "|" +
"latlng:" + mEndLat + "," + mEndLng + "&mode=driving&car_type=TIME"));
mActivity.startActivity(intent); // 启动调用
} catch (Exception e) {
T.showToast(mActivity, "调起百度地图失败");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment