百度地图 公交线路查询

公交线路搜索的方法为transitSearch(String city, MKPlanNode start, MKPlanNode end),city:为待查公交线路所在城市,start和end分别是起点和终点;获取结果的方法改为重写onGetTransitRouteResult方法(具体使用方法与驾车及步行路线搜索类似,此处不再给出核心代码)。

此外,公交方面还可根据公交线路的id对公交的详细信息进行搜索,具体步骤如下:

第一步:利用兴趣点搜索的方法获取待查公交线路的信息;

  1. mMKSearch.poiSearchInCity("北京""717");  

第二步:获取公交线路的id,并以此作为公交详细信息搜索的关键字;

  1. @Override  
  2. public void onGetPoiResult(MKPoiResult res, int type, int error) {  
  3.        // 错误号可参考MKEvent中的定义  
  4.        if (error != 0 || res == null) {  
  5.                Toast.makeText(MyMapActivity.this"抱歉,未找到结果", Toast.LENGTH_LONG).show();  
  6.                return;  
  7.        }  
  8.        // 找到公交路线poi node   
  9.        MKPoiInfocurPoi = null;  
  10.        int totalPoiNum  = res.getNumPois();  
  11.        for(intidx = 0; idx<totalPoiNum; idx++ ) {  
  12.                curPoi = res.getPoi(idx);   
  13.                if ( 2 == curPoi.ePoiType ) {  
  14.                        break;   
  15.                }  
  16.        }  
  17.        mMKSearch.busLineSearch(mCityName, curPoi.uid);  

第三步:获取公交线路的详细信息,并展示;

  1. public void onGetBusDetailResult(MKBusLineResult result, int iError) {  
  2.        if (iError != 0 || result == null) {  
  3.                Toast.makeText(MyMapActivity.this"抱歉,未找到结果", Toast.LENGTH_LONG).show();  
  4.                return;  
  5.        }  
  6.        RouteOverlay routeOverlay = new RouteOverlay(MyMapActivity.this, mMapView);    // 此处仅展示一个方案作为示例  
  7.        routeOverlay.setData(result.getBusRoute());  
  8.        mMapView.getOverlays().clear();  
  9.        mMapView.getOverlays().add(routeOverlay);  
  10.        mMapView.refresh();  
  11.        mMapView.getController().animateTo(result.getBusRoute().getStart());  

公交详细信息展示结果如下图所示:

android_dev8.jpg

  大家写代码布局可以直接先不要edittext,直接地图,然后在程序里面直接添加 mkSearch.poiSearchInCity("北京", "717");先测试鲜果,然后再增加功能。                                    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值