百度地图Android SDK V2.1.1为广大开发者提供调起百度地图客户端Android版(v5.0及以上版本)导航功能。
第一种方案:直接调用SDK实现跳转到百度应用实现导航
代码:
public void onBaidu(View view) {
LatLng pt1 = new LatLng(mLat1, mLon1);
LatLng pt2 = new LatLng(mLat2, mLon2);
// 构建导航参数
/**
* endName(java.lang.String endName):导航终点名称 endPoint(LatLng
* endPoint):导航终点, 百度经纬度坐标 startName(java.lang.String startName):导航起点名称
* startPoint(LatLng startPoint):导航起点, 百度经纬度坐标
* */
NaviParaOption para = new NaviParaOption().startPoint(pt1)
.endPoint(pt2).startName("天安门").endName("百度大厦");
try {
/**
* openBaiduMapNavi(NaviParaOption para, Context context)
* 调起百度地图导航页面
* */
BaiduMapNavigation.openBaiduMapNavi(para, this);
} catch (BaiduMapAppNotSupportNaviException e) {
e.printStackTrace();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("您尚未安装百度地图app或app版本过低,点击确认安装?");
builder.setTitle("提示");
builder.setPositiveButton("确认", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
/**
* OpenClientUtil:调起百度客户端工具类
* public static int getBaiduMapVersion(Context context)
* 获取百度地图客户端版本号
* 返回0代表没有安装百度地图客户端
* */
OpenClientUtil.getLatestBaiduMapApp(MainActivity.this);
}
});
builder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
}
我这边使用的jar包是baidumapapi_v3_4_0.jar
第二种方案:
直接调用intent跳转:
官网有介绍:
http://developer.baidu.com/map/uri-intro.htm
有不懂的可以留言,以后博客会不断更新。欢迎关注!