百度地图Android SDK V2.1.1为广大开发者提供调起百度地图客户端Android版(v5.0及以上版本)导航功能。
基本过程:首先确定需要导航的起点、终点,然后调用BaiduMapNavigation类的openBaiduNavi(NaviPara para, Activity context)来调起百度地图客户端导航页面。该方法更多详细信息请参考百度地图API->Android SDK->类参考中关于BaiduMapNavigation类的详解。
我将通过下面的讲解,教大家一步一步如何去调用百度地图客户端的导航功能。
第一步,创建Android工程,导入百度地图开发包,在AndroidManifest.xml中添加各种权限,具体介绍请参考:百度SDK for Android【Demo地图展示】中的第一步和第二步操作;
第二步,创建需要导航的起点和终点。代码如下:
double mLat1 = 39.915;
double mLon1 = 116.404;
double mLat2 = 32.032;
double mLon2 = 118.799;
int lat = (int) (mLat1 *1E6);
int lon = (int) (mLon1 *1E6);
GeoPoint pt1 = new GeoPoint(lat, lon);
lat = (int) (mLat2 *1E6);
lon = (int) (mLon2 *1E6);
GeoPoint pt2 = new GeoPoint(lat, lon);
第三步,调用BaiduMapNavigation类的openBaiduNavi(NaviPara para, Activity context)来调起百度地图客户端导航页面,如果用户之前未安装百度地图客户端V5.0及以上版本,或者当前百度地图客户端版本过低,会首先提示用户下载和更新百度地图客户端。代码如下:
NaviPara para = new NaviPara();
para.startPoint = pt1;
para.startName= "从这里开始";
para.endPoint = pt2;
para.endName = "到这里结束";
try {
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();
BaiduMapNavigation.GetLatestBaiduMapApp(MainActivity.this);
}
});
builder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
第四步,运行工程,调起百度地图客户端导航功能,显示结果如下:
原示例工程代码稍后上传至百度云盘,请耐心等待。
更多详细信息请登录百度地图API官方网站:http://developer.baidu.com/map/
百度地图API论坛:http://bbs.lbsyun.baidu.com/