android百度地图api实现查询经过某站点的所有公交路线

在项目开发中遇到这个问题,查询百度和谷歌没有找到可行方法,在查阅了百度地图api后发现poiinfo类中又一个address字段用于存放经过该站点的所有公交车路线。

1、进行poi搜索操作

2、遍历搜索结果,筛选出公交信息

 /**
     * 获取定位周围的公交站点,自动定位至最近站点,也就是当前站点
     * @param latLng 定位获取的当前位置
     */
    private void getPoiResult(LatLng latLng){
        if (latLng!=null){
            PoiSearch nPoiSearcher = PoiSearch.newInstance();
            OnGetPoiSearchResultListener onGetPoiSearchResultListener = new OnGetPoiSearchResultListener() {
                @Override
                public void onGetPoiResult(PoiResult result) {
                    if (result.error != SearchResult.ERRORNO.NO_ERROR ||result == null) {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(MainActivity.this,"检索失败",Toast.LENGTH_SHORT).show();
                            }
                        });
                    } else {
                        List list = result.getAllPoi();
                        if (list.size()>0){
                            String locStation = list.get(0).name;
                            String[] localStations = list.get(0).address.split(";");
                            for(String str:localStations){
                                Log.i("test",str);

                            }
                        }
                    }
                }
                @Override
                public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {
                }
                @Override
                public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) {
                }
            };
            nPoiSearcher.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener);
            nPoiSearcher.searchNearby(new PoiNearbySearchOption().keyword("公交站点").location(latLng).radius(1000));
        }
    }

 

其实思路非常简单,只要找到address字段和学会poi检索方法即可。

 

欢迎来到我的个人博客来互相讨论技术:http://www.strivingtree.com/

你可能感兴趣的:(android百度地图,Android)