Android淮安市主要公交线路查询系统设计与实现(7)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android淮安市主要公交线路查询系统设计与实现(7)

            if (poiResult。error == SearchResult。ERRORNO。NO_ERROR) {// 检索结果正常返回 

                bdMap。clear(); 

                MyPoiOverlay poiOverlay = new MyPoiOverlay(bdMap); 

                poiOverlay。setData(poiResult);// 设置POI数据 

                bdMap。setOnMarkerClickListener(poiOverlay); 

                poiOverlay。addToMap();// 将所有的overlay添加到地图上 

                poiOverlay。zoomToSpan();

            } 

        } 

通过以上代码,就能实现POI检索功能了。

4。5 公交信息检索

实际上,公交信息检索与POI检索非常相似,也是把你需要检索的信息发送给百度地图服务器,然后解析得到的结果。

    一般步骤:

    1。 设置检索参数

    2。 添加检索结果监听器

    3。 发起检索

4。 解析返回结果

所以进行公交信息检索之前,需要先进行POI检索。使用searchInCity()方法在每一个城市内查询公交路线号:

city = cityEt。getText()。toString();  文献综述

            busline = buslineEt。getText()。toString(); 

            poiSearch。searchInCity((new PoiCitySearchOption())。city(city) 

                    。keyword(busline));

得到poi检索的结果时,在PoiResult类中有通过getAllPoi()获取poi检索结果。

@Override 

        public void onGetPoiResult(PoiResult poiResult) { 

            if (poiResult == null 

                    || poiResult。error == SearchResult。ERRORNO。RESULT_NOT_FOUND) {// 没有找到检索结果 

                Toast。makeText(BusLineSearchActivity。this, "未找到结果", 

                        Toast。LENGTH_LONG)。show(); 

                return; 

            } 

            if (poiResult。error == SearchResult。ERRORNO。NO_ERROR) {// 检索结果正常返回 

                // 得到检索结果         

            } 

        } 

在PoiInfo类中有个type字段:0:普通点 1:公交站 2:公交路线 3:地铁站 4:地铁线路,

通过判断type,将正确的公交路线uid添加到一个list中。得到了uid,就可以结合城市参数,进行公交线路检索了。

if (poi。type == PoiInfo。POITYPE。BUS_LINE 

                            || poi。type == PoiInfo。POITYPE。SUBWAY_LINE) { 

                        buslineIdList。add(poi。uid); 

                    }

5 系统设计与实现

5。1 功能模块设计

系统主要功能包括定位,线路查询、路线查询和图层设置四块内容,如下图5-1所示, (责任编辑:qin)