android实现查询公交车还有几站的功能实现查询公交车还有几站的功能
上一篇文章介绍了如何在Android平台上利用百度地图进行定位,接下来就介绍一下在获取的定位功能的基础上采用百度地图
来获取周边的公交信息。
这里采用如上文同样的方式,单独写一个类,该类是对周边搜索功能的封装,NearbySearchHelper。该类向外部只暴露一个
函数SearchNearby()接口;
实现的主要流程时,根据当前的定位获取周边的公交车的信息,并排除了冗余的公交车线路信息,根据搜索到的公交线路信息,继
续搜索该公交车的uid(百度地图的唯一标示符),再根据具体的uid来搜索详细的公交车信息,包括起始站点。具体代码如下:
1、创建周边公交搜索帮助类:NearbySearchHelper
import java.util.ArrayList;
import java.util.List;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.search.busline.BusLineResult;
import com.baidu.mapapi.search.busline.BusLineSearch;
import com.baidu.mapapi.search.busline.OnGetBusLineSearchResultListener;
import com.baidu.mapapi.search.core.PoiInfo;
import com.baidu.mapapi.search.core.SearchResult;
import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;
import com.baidu.mapapi.search.poi.PoiDetailResult;
import com.baidu.mapapi.search.poi.PoiNearbySearchOption;
import com.baidu.mapapi.search.poi.PoiResult;
import com.baidu.mapapi.search.poi.PoiSearch;
import com.baidu.mapapi.utils.DistanceUtil;
import com.busleep.app.CustomApplication;
import com.busleep.bean.MrNearbyBus;
import com.busleep.config.Constant;
import com.busleep.listener.MrNearbySearchListener;
import com.busleep.utils.LogUtils;
/**
* 周边公交查询帮助类;这里需要实现百度地图的两个接口,一个是Poi搜索监听器,一个是公交路线搜索监听器;
* @author Render;
*/
public class NearbySearchHelper implements OnGetPoiSearchResultListener,
OnGetBusLineSearchResultListener{
public static final String TAG = "NearbySearchHelper";
private final int BUSSTATION=0; // 先查询周边的公交站点信息;
private final int BUSLINE=1; // 站点的公交信息;
private PoiSearch mSearch = null; // Poi点搜索模块;
private BusLineSearch mBusLineSearch = null; // 公交路线搜索模块;
private int mType; // 查询类型;
private int nodeIndex=-1; // 查询的索引;
private MrNearbySearchListener nearBySearchListener; //查询结束监听对象,该对象是为了封装而重新的一个监听器;
private List<MrNearbyBus> nearbyBuses=null; //查询的结果;
public NearbySearchHelper(){
}
public void setNearBySearchListener(MrNearbySearchListener nearBySearchListener) {
this.nearBySearchListener = nearBySearchListener;
}
/**
* 初始化函数,主要是初始化百度地图的搜索对象以及存放周边公交信息的链表,至于Bean实体对象MrNearbyBus下文继续
介绍;
*/
public void init(){
评论0
最新资源