if
(busRouteResult != null
&& busRouteResult.getPaths() != null
&& busRouteResult.getPaths().size() > 0 ) {
// 以推荐线路的第一条数据为例进行处理
BusPath busPath = busRouteResult.getPaths().get( 0 );
// 分别获取公交线路距离,步行距离,整个线路距离
String routeInfo = "公交路线长度:"
+ busPath.getBusDistance()
+ " 步行 长度"
+ busPath.getWalkDistance() + " 线路长度:"
+ busPath.getDistance() + "\n" ;
List<BusStep> busSteps = busPath.getSteps();
// 获取每一段换乘所需的步行距离,起始终止站点,经过的站数(不包括起始和终点站),距离和所需时间
for
(BusStep busStep : busSteps) {
if
(busStep.getWalk() != null ) {
RouteBusWalkItem walkPath = busStep.getWalk();
routeInfo = routeInfo + "需要步行大约"
+ Math.round(walkPath.getDuration() / 60 )
+ "分钟,步行"
+ walkPath.getDistance() + "米\n" ;
}
if
(busStep.getBusLine() != null ) {
RouteBusLineItem busLineItem = busStep.getBusLine();
routeInfo = routeInfo
+ "乘坐"
+ busLineItem.getBusLineName()
+ "需要大约"
+ Math.round(busLineItem.getDuration() / 60 )
+ "分钟,大约"
+ busLineItem.getDistance()
+ "米,经过"
+ busLineItem.getPassStationNum()
+ "站,从"
+ busLineItem.getDepartureBusStation()
.getBusStationName()
+ "上车,从"
+ busLineItem.getArrivalBusStation()
.getBusStationName() + "下车\n" ;
}
}
mRouteInfoText.setText(routeInfo);
|