全部服务产品
开发者频道
定价
登录
公交信息检索
下载开发文档
公交路线信息检索简介

开发者可以通过POI检索获取公交类型(公交车,地铁)的POI信息,根据POI对应的UID请求BusLineSearch检索详细的公交路线信息(如:该线路的站点数、各站点名称、参考票价等)。

公交路线信息检索示例
POI检索获取公交路线UID

1. 发起检索

/**
* 在"北京"市检索"963"POI信息
*/
mPoiSearch.searchInCity(new PoiCitySearchOption()
.city("北京") //必填字段
.keyword("963")); //必填字段

2. 在POI检索结果的回调中获取公交线路的UID 在V5.1.0之前的SDK版本中,通过PoiInfo.type字段获取Poi点类型,其中 公交车路线和地铁路线对应PoiInfo.type字段分别为POITYPE.BUS_LINE(2), POITYPE.SUBWAY_LINE(4)。

@Override
public void onGetPoiResult(PoiResult poiResult) {
if (poiResult == null || poiResult.error != SearchResult.ERRORNO.NO_ERROR) {
return;
}
//遍历所有POI,找到类型为公交线路的POI
for (PoiInfo poi : poiResult.getAllPoi()) {
if (poi.type == PoiInfo.POITYPE.BUS_LINE ||poi.type == PoiInfo.POITYPE.SUBWAY_LINE) {
//获取该条公交路线POI的UID
busLineId = poi.uid;
break;
}
}
}

自V5.1.0起,获取Poi点类型的方式发生了变化,PoiInfo.type字段返回null,应通过PoiInfo.getPoiDetailInfo.getTag方法获取tag字段来匹配。tag字段的取值请参考POI分类。 另外,需要在构造PoiCitySearchOption对象时设置scope字段值为2。 示例如下:

mPoiSearch.searchInCity(new PoiCitySearchOption()
.city("北京") //必填字段
.keyword("963") //必填字段
.scope(2));

POI检索详细介绍请查看POI检索

BusLineSearch检索公交线路详细信息

发起BusLineSearch示例如下:

mBusLineSearch.searchBusLine(new BusLineSearchOption()
.city("北京")
.uid(busLineId));
开发者可以调用开源的BusLineOverlay代码快速高效地在地图上展示检索结果。
@Override
public void onGetBusLineResult(BusLineResult busLineResult) {
if (busLineResult == null || busLineResult.error != SearchResult.ERRORNO.NO_ERROR) {
return;
}
overlay.setData(busLineResult);
overlay.addToMap();
overlay.zoomToSpan();
}

效果如图:

BusLineResult详情

BusLineResult包含线路 ID、线路名称、线路坐标、所属公交公司、首班车时间、末班车时间、全程里程、起步价、全程票价、是否有月票、沿途站点列表、分段信息。

上一篇

地点输入提示检索

下一篇

天气服务

本篇文章对您是否有帮助?