第一步导入高德地图导航开发包及对应的功能类
第二步路径规划的类继承导航的接口
Activity_NaviChoose extends Activity implements OnRouteSearchListener,AMapNaviListener
OnRouteSearchListener路径规划的接口
AMapNaviListener导航的接口
第三步路径规划
自驾路径规划
/**
* 自驾路径规划
*/
public void dringRoute() {
Log.e("route", "--------------dringRoute---------------");
RouteSearch routeSerch=new RouteSearch(Activity_NaviChoose.this);
routeSerch.setRouteSearchListener(this);
LatLonPoint start_lat=new LatLonPoint(la_start, ln_start); //起点
LatLonPoint end_lat=new LatLonPoint(la_end,ln_end);//终点
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
start_lat, end_lat);
DriveRouteQuery query = new DriveRouteQuery(fromAndTo, RouteSearch.DrivingDefault,
null, null, "");// 第一个参数表示路径规划的起点和终点,第二个参数表示驾车模式,第三个参数表示途经点,第四个参数表示避让区域,第五个参数表示避让道路
routeSerch.calculateDriveRouteAsyn(query);// 异步路径规划驾车模式查询 // 异步路径规划公交模式查询
}
步行路径规划
/**
* 步行路径规划
*/
public void warkRoute() {
Log.e("route", "--------------warkRoute---------------");
RouteSearch routeSerch=new RouteSearch(Activity_NaviChoose.this);
routeSerch.setRouteSearchListener(this);
LatLonPoint start_lat=new LatLonPoint(la_start, ln_start); //定位本地坐标
LatLonPoint end_lat=new LatLonPoint(la_end,ln_end);
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
start_lat, end_lat);
WalkRouteQuery query=new WalkRouteQuery(fromAndTo, RouteSearch.WalkDefault);
routeSerch.calculateWalkRouteAsyn(query);
}
公交路径规划
public void busRoute() {
RouteSearch routeSerch=new RouteSearch(Activity_NaviChoose.this);
routeSerch.setRouteSearchListener(this);
LatLonPoint start_lat=new LatLonPoint(la_start, ln_start); //定位本地坐标
LatLonPoint end_lat=new LatLonPoint(la_end,ln_end);
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
start_lat, end_lat);
//是否计算夜班车,默认为不计算。0:不计算,1:计算。可选
BusRouteQuery query=new BusRouteQuery(fromAndTo, RouteSearch.BusDefault, "北京", 0);
routeSerch.calculateBusRouteAsyn(query);
}
第四步 添加路径规划回调方法–重写接口OnRouteSearchListener的方法
自驾回调
@Override
public void onDriveRouteSearched(DriveRouteResult result, int rCode) {
Log.e("route", "--------------onDriveRouteSearched---------------");
if