生活随笔
收集整理的這篇文章主要介紹了
百度地图 公交线路查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
公交線路搜索的方法為transitSearch(String city, MKPlanNode start, MKPlanNode end),city:為待查公交線路所在城市,start和end分別是起點和終點;獲取結果的方法改為重寫onGetTransitRouteResult方法(具體使用方法與駕車及步行路線搜索類似,此處不再給出核心代碼)。
此外,公交方面還可根據公交線路的id對公交的詳細信息進行搜索,具體步驟如下:
第一步:利用興趣點搜索的方法獲取待查公交線路的信息;
源碼 復制 打印 關于
mMKSearch.poiSearchInCity("北京",?"717");??
第二步:獲取公交線路的id,并以此作為公交詳細信息搜索的關鍵字;
源碼 復制 打印 關于
@Override?? public?void?onGetPoiResult(MKPoiResult?res,?int?type,?int?error)?{?? ???????//?錯誤號可參考MKEvent中的定義?? ???????if?(error?!=?0?||?res?==?null)?{?? ???????????????Toast.makeText(MyMapActivity.this,?"抱歉,未找到結果",?Toast.LENGTH_LONG).show();?? ???????????????return;?? ???????}?? ???????//?找到公交路線poi?node??? ???????MKPoiInfocurPoi?=?null;?? ???????int?totalPoiNum??=?res.getNumPois();?? ???????for(intidx?=?0;?idx<totalPoiNum;?idx++?)?{?? ???????????????curPoi?=?res.getPoi(idx);??? ???????????????if?(?2?==?curPoi.ePoiType?)?{?? ???????????????????????break;??? ???????????????}?? ???????}?? ???????mMKSearch.busLineSearch(mCityName,?curPoi.uid);??
第三步:獲取公交線路的詳細信息,并展示;
源碼 復制 打印 關于
public?void?onGetBusDetailResult(MKBusLineResult?result,?int?iError)?{?? ???????if?(iError?!=?0?||?result?==?null)?{?? ???????????????Toast.makeText(MyMapActivity.this,?"抱歉,未找到結果",?Toast.LENGTH_LONG).show();?? ???????????????return;?? ???????}?? ???????RouteOverlay?routeOverlay?=?new?RouteOverlay(MyMapActivity.this,?mMapView);????//?此處僅展示一個方案作為示例?? ???????routeOverlay.setData(result.getBusRoute());?? ???????mMapView.getOverlays().clear();?? ???????mMapView.getOverlays().add(routeOverlay);?? ???????mMapView.refresh();?? ???????mMapView.getController().animateTo(result.getBusRoute().getStart());??
公交詳細信息展示結果如下圖所示:
? 大家寫代碼布局可以直接先不要edittext,直接地圖,然后在程序里面直接添加?mkSearch.poiSearchInCity("北京", "717");先測試鮮果,然后再增加功能。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
總結
以上是生活随笔為你收集整理的百度地图 公交线路查询的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。