自7.5.8版本起增加实时公交功能,支持根据当前经纬度检索附近站台,线路, 实时公交等信息,支持指定线路uid检索实时公交,支持指定站台uid检索实时公交, 支持指定站台订阅上车提醒,指定站台订阅下车提醒功能。
注意:此功能为高级付费功能,如需测试使用,请先开通权限。
实时公交检索共分为三个检索接口,分别为:附近实时公交检索、指定线路公交检索、指定站台公交检索。
realtimebusdatalistener realtimebusdatalistener =newrealtimebusdatalistener(){@overridepublicvoidongetrealtimenearbybusdatalistener(realtimenearbybusresult realtimenearbybusresult){// 查询附近实时公交信息回调}@overridepublicvoidongetrealtimebuslinedatalistener(realtimebuslineresult realtimebuslineresult){// 查询指定线路uid实时公交信息回调}@overridepublicvoidongetrealtimebusstationdatalistener(realtimebusstationinfolistresultrealtimebusstationinfolistresult){// 查询指定站点uid实时公交信息回调}@overridepublicvoidongetlocationtimeout(){// 查询后5分钟没有更新实时位置,且没有调用停止接口回调}};
realtimebusmanager.getinstance().registerrealtimebuslistener(realtimebusdatalistener);
注:发起对应检索后sdk内部会根据返回实时公交的刷新时间延时2秒, 轮询去查询相应的实时公交信息,在轮询检索过程中开发者须调用更新位置接口更新实时位置, 如果大于5分钟未更新实时位置则回调ongetlocationtimeout(), 待更新位置后会继续回调对应的查询结果回调。如开发者没有轮询查询的需求在查询1次拿到结果后可调用对应的销毁接口停止(参考步骤5)。
// 创建周边实时公交检索optionrealtimenearbybusoption realtimenearbybusoption =newrealtimenearbybusoption();// 设置城市idrealtimenearbybusoption.setcityid(131);// 设置当前经纬度realtimenearbybusoption.setlatlng(newlatlng(40.057789,116.307403));// 发起周边实时公交检索realtimebusmanager.getinstance().realtimenearbybussearch(realtimenearbybusoption);
// 创建指定线路查询参数realtimebuslineoption realtimebuslineoption =newrealtimebuslineoption().setcityid(131)// 城市id 示例中是北京.setlatlng(latlng)// 当前经纬度信息.setuid("7237aea108f3e266abf729bb");// 指定线路uid// 发起指定线路id查询realtimebusmanager.getinstance().realtimebuslinesearch(realtimebuslineoption);
支持同时检索多个站台实时公交
// 创建指定站台查询实时公交optionrealtimebusstationoption realtimebusstationoption =newrealtimebusstationoption();// 指定站台uid集合arraylist<string> uids =newarraylist<>();uids.add("5abc231cf0e232f6adee7afe");uids.add("72eec12ca949efbaa8f0cd93");realtimebusstationoption.setstationuid(uids);// 设置指定站台uid集合realtimebusstationoption.setlatlng(newlatlng(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();
上一篇
下一篇
本篇文章对您是否有帮助?