自7.5.8版本起增加实时公交功能,支持根据当前经纬度检索附近站台,线路, 实时公交等信息,支持指定线路uid检索实时公交,支持指定站台uid检索实时公交, 支持指定站台订阅上车提醒,指定站台订阅下车提醒功能。
注意:此功能为高级付费功能,如需测试使用,请先联系我们开通权限。
实时公交检索共分为三个检索接口,分别为:附近实时公交检索、指定线路公交检索、指定站台公交检索。
RealTimeBusDataListener realTimeBusDataListener = new RealTimeBusDataListener() {@Overridepublic void onGetRealTimeNearbyBusDataListener(RealTimeNearbyBusResult realTimeNearbyBusResult) {// 查询附近实时公交信息回调}@Overridepublic void onGetRealTimeBusLineDataListener(RealTimeBusLineResult realTimeBusLineResult) {// 查询指定线路UID实时公交信息回调}@Overridepublic void onGetRealTimeBusStationDataListener(RealTimeBusStationInfoListResult RealTimeBusStationInfoListResult) {// 查询指定站点UID实时公交信息回调}@Overridepublic void onGetLocationTimeOut() {// 查询后5分钟没有更新实时位置,且没有调用停止接口回调}};
RealTimeBusManager.getInstance().registerRealTimeBusListener(realTimeBusDataListener);
注:发起对应检索后SDK内部会根据返回实时公交的刷新时间延时2秒, 轮询去查询相应的实时公交信息,在轮询检索过程中开发者须调用更新位置接口更新实时位置, 如果大于5分钟未更新实时位置则回调onGetLocationTimeOut(), 待更新位置后会继续回调对应的查询结果回调。如开发者没有轮询查询的需求在查询1次拿到结果后可调用对应的销毁接口停止(参考步骤5)。
// 创建周边实时公交检索OptionRealTimeNearbyBusOption realTimeNearbyBusOption = new RealTimeNearbyBusOption();// 设置城市idrealTimeNearbyBusOption.setCityID(131);// 设置当前经纬度realTimeNearbyBusOption.setLatLng(new LatLng(40.057789,116.307403));// 发起周边实时公交检索RealTimeBusManager.getInstance().realTimeNearbyBusSearch(realTimeNearbyBusOption);
// 创建指定线路查询参数RealTimeBusLineOption realTimeBusLineOption = new RealTimeBusLineOption().setCityID(131) // 城市id 示例中是北京.setLatLng(latLng) // 当前经纬度信息.setUid("7237aea108f3e266abf729bb"); // 指定线路uid// 发起指定线路id查询RealTimeBusManager.getInstance().realTimeBusLineSearch(realTimeBusLineOption);
支持同时检索多个站台实时公交
// 创建指定站台查询实时公交optionRealTimeBusStationOption realTimeBusStationOption = new RealTimeBusStationOption();// 指定站台uid集合ArrayList<String> uids = new ArrayList<>();uids.add("5abc231cf0e232f6adee7afe");uids.add("72eec12ca949efbaa8f0cd93");realTimeBusStationOption.setStationUid(uids); // 设置指定站台uid集合realTimeBusStationOption.setLatLng(new LatLng(40.057789,116.307403)); // 设置当前位置realTimeBusStationOption.setCityID(131); // 设置城市id 示例中是北京// 发起指定站台uid检索RealTimeBusManager.getInstance().realTimeStationSearch(realTimeBusStationOption);
注:如果使用上下车提醒功能建议2秒更新一次当前位置
RealTimeBusManager.getInstance().updateLocation(latLng);
RealTimeBusManager.getInstance().destroyRealTimeNearbyBus();
RealTimeBusManager.getInstance().destroyRealTimeBusLine();
RealTimeBusManager.getInstance().destroyRealTimeBusStation();
上一篇
下一篇
本篇文章对您是否有帮助?