获取公交数据 最后更新时间: 2026年05月26日
公交站点查询
实现公交站点查询的步骤如下:
1、继承 OnBusStationSearchListener 监听。
2、通过 BusStationQuery(query: string, city: string)设置搜索条件。
// 第一个参数表示公交线路名,第二个参数表示公交线路查询,第三个参数表示所在城市名或者城市区号
this.busStationQuery = new BusStationQuery(search, this.getCityCode());3、构造 BusStationSearch 对象,并设置监听,并调用 BusStationSearch 的 searchBusStationAsyn() 方法发起查询。
this.busStationSearch = new BusStationSearch(this.mContext, this.busStationQuery);
// 设置查询结果的监听
this.busStationSearch?.setOnBusStationSearchListener(this.busStationSearchListener);
this.busStationSearch?.searchBusStationAsyn();4、通过回调接口 onBusStationSearched 解析返回的结果。
说明:
1)可以在回调中解析result,获取公交站点信息。
2)result.getBusStations()可以获取到 BusStationItem 列表。
3)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)
private busStationSearchListener: OnBusStationSearchListener = {
onBusStationSearched: (result: BusStationResult, rCode: number) => {
//ToDo
}
}
公交路线查询
线路名称查询
1、设置查询条件
根据 BusLineQuery(query: string, ctgr: BusSearchType, city: string) 创建一个 BusLineQuery 对象,并设置查询条件,再根据 BusLineSearch(act: Context, query: BusLineQuery) 创建一个 BusLineSearch 对象。查询类型参数 ctgr 此处设置为 BusLineQuery.SearchType.BY_LINE_NAME。
2、发送请求和接收数据
使用 BusLineSearch.searchBusLineAsyn() 搜索公交线路。在 OnBusLineSearchListener 的接口回调方法 onBusLineSearched: (busLinePagedResult: BusLineResult, resultID: number) => void处理返回结果。当根据线路名称搜索无结果时,会自动匹配关键字为途经点名称进行搜索。显示效果如图:


结果返回线路信息有线路 ID、公交类型、线路名称、坐标串、城市编码、首发站、末站。
发送请求
this.busLineQuery = new BusLineQuery(search, BusSearchType.BY_LINE_NAME,
this.getCityCode()); // 第一个参数表示公交线路名,第二个参数表示公交线路查询,第三个参数表示所在城市名或者城市区号
this.busLineQuery.setPageSize(10); // 设置每页返回多少条数据
this.busLineQuery.setPageNumber(this.currentPage); // 设置查询第几页,第一页从0开始算起
this.busLineSearch = new BusLineSearch(this.mContext, this.busLineQuery); // 设置条件
this.busLineSearch?.setOnBusLineSearchListener(this.busLineSearchListener); // 设置查询结果的监听
this.busLineSearch?.searchBusLineAsyn(); // 异步查询公交线路名称回调方法
private busLineSearchListener: OnBusLineSearchListener = {
onBusLineSearched: (result: BusLineResult, rCode: number) => {
//ToDo
}
}线路 ID 查询
获取公交线路的详细信息,可使用线路 ID 查询。结果返回线路信息有线路 ID、公交类型、线路名称、线路坐标、城市编码、首发站、末站、首班车时间、末班车时间、所属公交公司、全程里程、起步价、全程票价、矩形区域(外包矩形的左下与右上顶点)、线路沿途坐标。
1、参照线路名称查询步骤1设置查询条件。此时,查询类型参数 ctgr 此处设置为 BusLineQuery.SearchType.BY_LINE_ID。
2、发送请求和接收数据。可参考线路名称查询步骤2。可以根据得到的公交线路数据,使用 BusLineOverlay 画出公交线路图层,包括起终点和所有公交站点。另外也可以自定义 Marker 和 InfoWindow 的图标和信息。
