Java源码示例:com.amap.api.services.route.BusPath

示例1
public static String getBusPathTitle(BusPath busPath) {
			if (busPath == null) {
				return String.valueOf("");
			}
			List<BusStep> busSetps = busPath.getSteps();
			if (busSetps == null) {
				return String.valueOf("");
			}
			StringBuffer sb = new StringBuffer();
			for (BusStep busStep : busSetps) {
				 StringBuffer title = new StringBuffer();
			   if (busStep.getBusLines().size() > 0) {
				   for (RouteBusLineItem busline : busStep.getBusLines()) {
					   if (busline == null) {
							continue;
						}
					  
					   String buslineName = getSimpleBusLineName(busline.getBusLineName());
					   title.append(buslineName);
					   title.append(" / ");
				}
//					RouteBusLineItem busline = busStep.getBusLines().get(0);
				   
					sb.append(title.substring(0, title.length() - 3));
					sb.append(" > ");
				}
				if (busStep.getRailway() != null) {
					RouteRailwayItem railway = busStep.getRailway();
					sb.append(railway.getTrip()+"("+railway.getDeparturestop().getName()
							+" - "+railway.getArrivalstop().getName()+")");
					sb.append(" > ");
				}
			}
			return sb.substring(0, sb.length() - 3);
		}
 
示例2
public static String getBusPathDes(BusPath busPath) {
	if (busPath == null) {
		return String.valueOf("");
	}
	long second = busPath.getDuration();
	String time = getFriendlyTime((int) second);
	float subDistance = busPath.getDistance();
	String subDis = getFriendlyLength((int) subDistance);
	float walkDistance = busPath.getWalkDistance();
	String walkDis = getFriendlyLength((int) walkDistance);
	return String.valueOf(time + " | " + subDis + " | 步行" + walkDis);
}
 
示例3
@Override
public View getView(int position, View convertView, ViewGroup parent) {
	ViewHolder holder = null;
	if (convertView == null) {
		holder = new ViewHolder();
		convertView = View.inflate(mContext, R.layout.item_bus_result, null);
		holder.title = (TextView) convertView.findViewById(R.id.bus_path_title);
		holder.des = (TextView) convertView.findViewById(R.id.bus_path_des);
		convertView.setTag(holder);
	} else {
		holder = (ViewHolder) convertView.getTag();
	}
	
	final BusPath item = mBusPathList.get(position);
	holder.title.setText(AMapUtil.getBusPathTitle(item));
	holder.des.setText(AMapUtil.getBusPathDes(item));
	
	convertView.setOnClickListener(new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			Intent intent = new Intent(mContext.getApplicationContext(),
					BusRouteDetailActivity.class);
			intent.putExtra("bus_path", item);
			intent.putExtra("bus_result", mBusRouteResult);
			intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
			mContext.startActivity(intent);
			
		}
	});
	
	return convertView;
}
 
示例4
public static String getBusPathTitle(BusPath busPath) {
			if (busPath == null) {
				return String.valueOf("");
			}
			List<BusStep> busSetps = busPath.getSteps();
			if (busSetps == null) {
				return String.valueOf("");
			}
			StringBuffer sb = new StringBuffer();
			for (BusStep busStep : busSetps) {
				 StringBuffer title = new StringBuffer();
			   if (busStep.getBusLines().size() > 0) {
				   for (RouteBusLineItem busline : busStep.getBusLines()) {
					   if (busline == null) {
							continue;
						}
					  
					   String buslineName = getSimpleBusLineName(busline.getBusLineName());
					   title.append(buslineName);
					   title.append(" / ");
				}
//					RouteBusLineItem busline = busStep.getBusLines().get(0);
				   
					sb.append(title.substring(0, title.length() - 3));
					sb.append(" > ");
				}
				if (busStep.getRailway() != null) {
					RouteRailwayItem railway = busStep.getRailway();
					sb.append(railway.getTrip()+"("+railway.getDeparturestop().getName()
							+" - "+railway.getArrivalstop().getName()+")");
					sb.append(" > ");
				}
			}
			return sb.substring(0, sb.length() - 3);
		}
 
示例5
public static String getBusPathDes(BusPath busPath) {
	if (busPath == null) {
		return String.valueOf("");
	}
	long second = busPath.getDuration();
	String time = getFriendlyTime((int) second);
	float subDistance = busPath.getDistance();
	String subDis = getFriendlyLength((int) subDistance);
	float walkDistance = busPath.getWalkDistance();
	String walkDis = getFriendlyLength((int) walkDistance);
	float cost = busPath.getCost();
	String costDis = String.format("%.2f", cost) + "元";
	return String.valueOf(time + " - " + subDis + " - 步行" + walkDis+ " - " + costDis);
}
 
示例6
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    BusPath bus = mAmapBusRouteAdapter.getList().get(position);

    Bundle bundle = new Bundle();
    bundle.putParcelable("bus", bus);
    bundle.putParcelable("route", mBusRouteResult);
    openActivity(RouteAmapBusActivity.class, bundle);

}
 
示例7
private void setBusRouteAdapter(List<BusPath> list, BusRouteResult result) {
    this.mBusRouteResult = result;
    if (null == mAmapBusRouteAdapter) {
        mAmapBusRouteAdapter = new AmapBusRouteAdapter(getActivity(), list);
        mListBusRoute.setAdapter(mAmapBusRouteAdapter);
    } else {
        mAmapBusRouteAdapter.setList(list, true);
        mAmapBusRouteAdapter.notifyDataSetChanged();
    }
    mListBusRoute.setVisibility(View.VISIBLE);
    mTextData.setVisibility(View.GONE);
}
 
示例8
@Override
public void onBusRouteSearched(BusRouteResult result, int errorCode) {
    if (errorCode == AMapException.CODE_AMAP_SUCCESS) {
        if (result != null && result.getPaths() != null) {
            if (result.getPaths().size() > 0) {
                BusPath bus = new BusPath();
                bus.setCost(0);
                bus.setBusDistance(0);
                bus.setNightBus(false);
                bus.setWalkDistance(0);
                bus.setSteps(null);
                List<BusPath> list = new ArrayList<>();
                list.addAll(result.getPaths());

                setBusRouteAdapter(list, result);
            } else {
                mTextData.setVisibility(View.VISIBLE);
                mListBusRoute.setVisibility(View.GONE);
            }
        } else {
            mTextData.setVisibility(View.VISIBLE);
            mListBusRoute.setVisibility(View.GONE);
        }
    } else {
        mTextData.setVisibility(View.VISIBLE);
        mListBusRoute.setVisibility(View.GONE);
    }
}
 
示例9
public static String getBusPathTitle(BusPath busPath) {
			if (busPath == null) {
				return String.valueOf("");
			}
			List<BusStep> busSetps = busPath.getSteps();
			if (busSetps == null) {
				return String.valueOf("");
			}
			StringBuffer sb = new StringBuffer();
			for (BusStep busStep : busSetps) {
				 StringBuffer title = new StringBuffer();
			   if (busStep.getBusLines().size() > 0) {
				   for (RouteBusLineItem busline : busStep.getBusLines()) {
					   if (busline == null) {
							continue;
						}
					  
					   String buslineName = getSimpleBusLineName(busline.getBusLineName());
					   title.append(buslineName);
					   title.append(" / ");
				}
//					RouteBusLineItem busline = busStep.getBusLines().get(0);
				   
					sb.append(title.substring(0, title.length() - 3));
					sb.append(" > ");
				}
				if (busStep.getRailway() != null) {
					RouteRailwayItem railway = busStep.getRailway();
					sb.append(railway.getTrip()+"("+railway.getDeparturestop().getName()
							+" - "+railway.getArrivalstop().getName()+")");
					sb.append(" > ");
				}
			}
			return sb.substring(0, sb.length() - 3);
		}
 
示例10
public static String getBusPathDes(BusPath busPath) {
	if (busPath == null) {
		return String.valueOf("");
	}
	long second = busPath.getDuration();
	String time = getFriendlyTime((int) second);
	float subDistance = busPath.getDistance();
	String subDis = getFriendlyLength((int) subDistance);
	float walkDistance = busPath.getWalkDistance();
	String walkDis = getFriendlyLength((int) walkDistance);
	float cost = busPath.getCost();
	String costDis = String.format("%.2f", cost) + "元";
	return String.valueOf(time + " - " + subDis + " - 步行" + walkDis+ " - " + costDis);
}
 
示例11
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    BusPath bus = mAmapBusRouteAdapter.getList().get(position);

    Bundle bundle = new Bundle();
    bundle.putParcelable("bus", bus);
    bundle.putParcelable("route", mBusRouteResult);
    openActivity(RouteAmapBusActivity.class, bundle);

}
 
示例12
private void setBusRouteAdapter(List<BusPath> list, BusRouteResult result) {
    this.mBusRouteResult = result;
    if (null == mAmapBusRouteAdapter) {
        mAmapBusRouteAdapter = new AmapBusRouteAdapter(getActivity(), list);
        mListBusRoute.setAdapter(mAmapBusRouteAdapter);
    } else {
        mAmapBusRouteAdapter.setList(list, true);
        mAmapBusRouteAdapter.notifyDataSetChanged();
    }
    mListBusRoute.setVisibility(View.VISIBLE);
    mTextData.setVisibility(View.GONE);
}
 
示例13
@Override
public void onBusRouteSearched(BusRouteResult result, int errorCode) {
    if (errorCode == AMapException.CODE_AMAP_SUCCESS) {
        if (result != null && result.getPaths() != null) {
            if (result.getPaths().size() > 0) {
                BusPath bus = new BusPath();
                bus.setCost(0);
                bus.setBusDistance(0);
                bus.setNightBus(false);
                bus.setWalkDistance(0);
                bus.setSteps(null);
                List<BusPath> list = new ArrayList<>();
                list.addAll(result.getPaths());

                setBusRouteAdapter(list, result);
            } else {
                mTextData.setVisibility(View.VISIBLE);
                mListBusRoute.setVisibility(View.GONE);
            }
        } else {
            mTextData.setVisibility(View.VISIBLE);
            mListBusRoute.setVisibility(View.GONE);
        }
    } else {
        mTextData.setVisibility(View.VISIBLE);
        mListBusRoute.setVisibility(View.GONE);
    }
}
 
示例14
@Override
public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
    if (i == RIGHTCODE) {
        BusPath busPath = busRouteResult.getPaths().get(0);
        RoutePlan routePlan = initAndSetRoutePlan(BUS, busPath, (int) busPath.getCost());
        addPlan(busRouteResult.getBusQuery().getFromAndTo(), routePlan);
    }
}
 
示例15
public AmapBusRouteAdapter(Context context, List<BusPath> list) {
    super(context, list);
}
 
示例16
public AmapBusRouteAdapter(Context context, List<BusPath> list) {
    super(context, list);
}
 
示例17
/**
 * 通过此构造函数创建公交路线图层。
 * @param context 当前activity。
 * @param amap 地图对象。
 * @param path 公交路径规划的一个路段。详见搜索服务模块的路径查询包(com.amap.api.services.route)中的类<strong> <a href="../../../../../../Search/com/amap/api/services/route/BusPath.html" title="com.amap.api.services.route中的类">BusPath</a></strong>。
 * @param start 起点坐标。详见搜索服务模块的核心基础包(com.amap.api.services.core)中的类 <strong><a href="../../../../../../Search/com/amap/api/services/core/LatLonPoint.html" title="com.amap.api.services.core中的类">LatLonPoint</a></strong>。
 * @param end 终点坐标。详见搜索服务模块的核心基础包(com.amap.api.services.core)中的类 <strong><a href="../../../../../../Search/com/amap/api/services/core/LatLonPoint.html" title="com.amap.api.services.core中的类">LatLonPoint</a></strong>。
 * @since V2.1.0
 */
public BusRouteOverlay(Context context, AMap amap, BusPath path,
		LatLonPoint start, LatLonPoint end) {
	super(context);
	this.busPath = path;
	startPoint = AMapUtil.convertToLatLng(start);
	endPoint = AMapUtil.convertToLatLng(end);
	mAMap = amap;
}
 
示例18
/**
 * 通过此构造函数创建公交路线图层。
 * @param context 当前activity。
 * @param amap 地图对象。
 * @param path 公交路径规划的一个路段。详见搜索服务模块的路径查询包(com.amap.api.services.route)中的类<strong> <a href="../../../../../../Search/com/amap/api/services/route/BusPath.html" title="com.amap.api.services.route中的类">BusPath</a></strong>。
 * @param start 起点坐标。详见搜索服务模块的核心基础包(com.amap.api.services.core)中的类 <strong><a href="../../../../../../Search/com/amap/api/services/core/LatLonPoint.html" title="com.amap.api.services.core中的类">LatLonPoint</a></strong>。
 * @param end 终点坐标。详见搜索服务模块的核心基础包(com.amap.api.services.core)中的类 <strong><a href="../../../../../../Search/com/amap/api/services/core/LatLonPoint.html" title="com.amap.api.services.core中的类">LatLonPoint</a></strong>。
 * @since V2.1.0
 */
public BusRouteOverlay(Context context, AMap amap, BusPath path,
		LatLonPoint start, LatLonPoint end) {
	super(context);
	this.busPath = path;
	startPoint = AMapUtil.convertToLatLng(start);
	endPoint = AMapUtil.convertToLatLng(end);
	mAMap = amap;
}
 
示例19
/**
 * 通过此构造函数创建公交路线图层。
 * @param context 当前activity。
 * @param amap 地图对象。
 * @param path 公交路径规划的一个路段。详见搜索服务模块的路径查询包(com.amap.api.services.route)中的类<strong> <a href="../../../../../../Search/com/amap/api/services/route/BusPath.html" title="com.amap.api.services.route中的类">BusPath</a></strong>。
 * @param start 起点坐标。详见搜索服务模块的核心基础包(com.amap.api.services.core)中的类 <strong><a href="../../../../../../Search/com/amap/api/services/core/LatLonPoint.html" title="com.amap.api.services.core中的类">LatLonPoint</a></strong>。
 * @param end 终点坐标。详见搜索服务模块的核心基础包(com.amap.api.services.core)中的类 <strong><a href="../../../../../../Search/com/amap/api/services/core/LatLonPoint.html" title="com.amap.api.services.core中的类">LatLonPoint</a></strong>。
 * @since V2.1.0
 */
public BusRouteOverlay(Context context, AMap amap, BusPath path,
		LatLonPoint start, LatLonPoint end) {
	super(context);
	this.busPath = path;
	startPoint = AMapUtil.convertToLatLng(start);
	endPoint = AMapUtil.convertToLatLng(end);
	mAMap = amap;
}