上一篇地址

百度地图3.1教程—检索功能演示

还记得两天前 我在找公交接口,非常不幸。接口有些查不到,几年的前的数据,哎 。算了呗,突然想起来了百度地图有这个功能,结果去看了API,尼玛这API 改的我都不认识  源代码在最小面

说好的MK开头的数据呢 去哪了,仅仅有从新看了。想从站点找点数据看看结果,找不到了,都是曾经API,好吧 自己写一篇 给大家补全吧。

至于Demo配置我就不说了 。请參考上一篇文章.......

由于仅仅是做研究用的。所以UI做的不是非常美观 仅仅是把数据放到上面去了。 UI例如以下

这个仅仅是教学教程所以 UI做的比較丑,只是这个代码你能够拷贝到你的APP里做成查询公交的功能,待完好。。。

。。

。。。。。。

一个button点击事件。联网请求数据,返回在Textview和listview显示

-----------第一步。发起POI检索。获取对应线路的UID;------------

先用poi检索查询 全部公交信息返回,这里是上一节就讲过的内容 我就不叙述了。

<pre name="code" class="java">    private void initMap() {poiSearch = PoiSearch.newInstance();poiSearch.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener );//当公交信息出现以后,会出发这个监听器,这部分会在后面解说mBusLineSearch=BusLineSearch.newInstance();mBusLineSearch.setOnGetBusLineSearchResultListener(onGetBusLineSearchResultListener);}

-----第二步,通过button的点击事件我们出发检索事件------

    private void iniview() {button1 = (Button) findViewById(R.id.button1);search_result = (TextView) findViewById(R.id.result);bus_station = (ListView) findViewById(R.id.bus_station);button1.setOnClickListener(this);}
/*Button的点击事件处理,进行联网检索任务*/@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.button1:poiSearch.searchInCity((new PoiCitySearchOption())  .city("深圳")  .keyword("46")  );break;default:break;}}

----------------第三步。通过联网 百度会返回一些公交数据。到回调接口 --------------------

//    --------------------------------POI检索-----------------------OnGetPoiSearchResultListener onGetPoiSearchResultListener  = new OnGetPoiSearchResultListener() {@Overridepublic void onGetPoiResult(PoiResult result) {if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {  return;  }  //遍历全部POI。找到类型为公交线路的POI  for (PoiInfo poi : result.getAllPoi()) {  if (poi.type == PoiInfo.POITYPE.BUS_LINE ||poi.type == PoiInfo.POITYPE.SUBWAY_LINE) {  busLineId = poi.uid;mBusLineSearch.searchBusLine((new BusLineSearchOption()  .city("深圳")  .uid(busLineId)));break;  } }  }//后面是具体信息@Overridepublic void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {}};
//  --------------------------------POI检索-----------------------

------------------第四步 触发onGetBusLineSearchResultListener接口  从接口里的result里去取出我们要的数据

    //----------------------------bus检索-------------------------------------OnGetBusLineSearchResultListener onGetBusLineSearchResultListener=new OnGetBusLineSearchResultListener() {@Overridepublic void onGetBusLineResult(BusLineResult result) {Date startTime = result.getStartTime();Date endTime = result.getEndTime();String start = Commutils.dataToString(startTime);String end = Commutils.dataToString(endTime);String busLineName = result.getBusLineName();search_result.setText(start+"--"+end+"\n"+busLineName);List<BusStation> stations = result.getStations();List<String>list=new ArrayList<String>(); for (int i = 0; i < stations.size(); i++) {String title = stations.get(i).getTitle();list.add(title);}ArrayAdapter<String>adapter=new ArrayAdapter<String>(BusLineSearchDemo.this, android.R.layout.simple_list_item_1,list); bus_station.setAdapter(adapter);}};//----------------------------bus检索-------------------------------------

我就去了  最早时间 和最晚时间 还有 经过的站 其它的你们能够自行 扩展一下

   //----------------------------bus检索-------------------------------------OnGetBusLineSearchResultListener onGetBusLineSearchResultListener=new OnGetBusLineSearchResultListener() {@Overridepublic void onGetBusLineResult(BusLineResult result) {Date startTime = result.getStartTime();Date endTime = result.getEndTime();String start = Commutils.dataToString(startTime);String end = Commutils.dataToString(endTime);String busLineName = result.getBusLineName();search_result.setText(start+"--"+end+"\n"+busLineName);List<BusStation> stations = result.getStations();List<String>list=new ArrayList<String>(); for (int i = 0; i < stations.size(); i++) {String title = stations.get(i).getTitle();list.add(title);}ArrayAdapter<String>adapter=new ArrayAdapter<String>(BusLineSearchDemo.this, android.R.layout.simple_list_item_1,list); bus_station.setAdapter(adapter);}};//----------------------------bus检索-------------------------------------

java 所有代码

package com.example.maptest;import java.util.ArrayList;
import java.util.Date;
import java.util.List;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.search.busline.BusLineResult;
import com.baidu.mapapi.search.busline.BusLineResult.BusStation;
import com.baidu.mapapi.search.busline.BusLineSearch;
import com.baidu.mapapi.search.busline.BusLineSearchOption;
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.PoiCitySearchOption;
import com.baidu.mapapi.search.poi.PoiDetailResult;
import com.baidu.mapapi.search.poi.PoiResult;
import com.baidu.mapapi.search.poi.PoiSearch;/*** 此demo用来展示怎样进行公交线路详情检索,并使用RouteOverlay在地图上绘制 同一时候展示怎样浏览路线节点并弹出泡泡*/
public class BusLineSearchDemo extends Activity implements OnClickListener {private Button button1;private PoiSearch poiSearch;private BusLineSearch mBusLineSearch;private PoiCitySearchOption poiCitySearchOption;private TextView search_result;private ListView bus_station;private String busLineId;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);// 注意该方法要再setContentView方法之前实现SDKInitializer.initialize(getApplicationContext());setContentView(R.layout.activity_busline);initMap();iniview();}private void initMap() {poiSearch = PoiSearch.newInstance();poiSearch.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener );//当公交信息出现以后。会出发这个监听器,这部分会在后面解说mBusLineSearch=BusLineSearch.newInstance();mBusLineSearch.setOnGetBusLineSearchResultListener(onGetBusLineSearchResultListener);}private void iniview() {button1 = (Button) findViewById(R.id.button1);search_result = (TextView) findViewById(R.id.result);bus_station = (ListView) findViewById(R.id.bus_station);button1.setOnClickListener(this);}
/*Button的点击事件处理,进行联网检索任务*/@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.button1:poiSearch.searchInCity((new PoiCitySearchOption())  .city("深圳")  .keyword("46")  );break;default:break;}}
//  --------------------------------POI检索-----------------------OnGetPoiSearchResultListener onGetPoiSearchResultListener  = new OnGetPoiSearchResultListener() {@Overridepublic void onGetPoiResult(PoiResult result) {if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {  return;  }  //遍历全部POI,找到类型为公交线路的POI  for (PoiInfo poi : result.getAllPoi()) {  if (poi.type == PoiInfo.POITYPE.BUS_LINE ||poi.type == PoiInfo.POITYPE.SUBWAY_LINE) {  busLineId = poi.uid;mBusLineSearch.searchBusLine((new BusLineSearchOption()  .city("深圳")  .uid(busLineId)));break;  } }  }//后面是具体信息@Overridepublic void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {}};
//  --------------------------------POI检索-----------------------//----------------------------bus检索-------------------------------------OnGetBusLineSearchResultListener onGetBusLineSearchResultListener=new OnGetBusLineSearchResultListener() {@Overridepublic void onGetBusLineResult(BusLineResult result) {Date startTime = result.getStartTime();Date endTime = result.getEndTime();String start = Commutils.dataToString(startTime);String end = Commutils.dataToString(endTime);String busLineName = result.getBusLineName();search_result.setText(start+"--"+end+"\n"+busLineName);List<BusStation> stations = result.getStations();List<String>list=new ArrayList<String>(); for (int i = 0; i < stations.size(); i++) {String title = stations.get(i).getTitle();list.add(title);}ArrayAdapter<String>adapter=new ArrayAdapter<String>(BusLineSearchDemo.this, android.R.layout.simple_list_item_1,list); bus_station.setAdapter(adapter);}};//----------------------------bus检索-------------------------------------
/* 释放资源*/@Overrideprotected void onDestroy() {super.onDestroy();poiSearch.destroy();}}

------------------------------------------------------------------end-----------------------------------------------

源代码里面其它类 ,你就别看了。由于还在研究 以下那个功能留下来的...........................

点击下载源代码

转载于:https://www.cnblogs.com/wzzkaifa/p/7039625.html

百度地图3.2教程(2)公交查询相关推荐

  1. Android百度地图API使用教程

    课1 百度地图应用 百度地图.ppt 百度地图API:API文档 http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_2_0/ 67个类:其中6大核心 ...

  2. (更新源码)AndroidStudio新手开发:天气app(百度地图api+和风天气api+城市查询+折线展示)

    AndroidStudio新手开发:天气app(百度地图api+和风天气api+城市查询+折线展示) 1.内容简介 2.环境配置 3.导入他人demo 4.AS项目分析 5.天气项目流程 6.数据探寻 ...

  3. Android百度地图开发入门教程

    Android百度地图开发入门教程 1.平台注册登录 2.创建应用 3.Android studio配置 4.代码编写 5.最终效果(建议真机) 1.平台注册登录 登录百度地图开放平台网站注册并登录 ...

  4. 百度地图核酸检测点在哪里怎么查询附近免费的核酸检测点工作时间几点下班?

    百度地图核酸检测点在哪里怎么查询附近免费的核酸检测点工作时间几点下班? 1.在手机上打开百度地图: 2.打开百度地图后,在顶部搜索框输入:核酸,找到核酸检测机构地图并点击进入: 3.在核酸检测机构地图 ...

  5. java 微信 百度地图_[Java教程]H5微信通过百度地图API实现导航方式二

    [Java教程]H5微信通过百度地图API实现导航方式二 0 2017-08-01 23:53:20 要有服务器才行哦 body, html {width: 100%;height: 100%;mar ...

  6. 百度地图API详解之公交导航

    原文地址:http://blog.csdn.net/sup_heaven/article/details/8461593 只是作为备忘!!! 一次调试百度地图多marker事件监听的问题,不知如何解决 ...

  7. 百度地图-新手入门教程

    百度地图介绍 LBS:location Bussiness Server 基本地理位置的服务开发 百度地图的北斗定位,可以让开发者轻松实现安全.精准.稳定的定位功能,企业级可视化服务解决方案,实现点线 ...

  8. 百度地图基础应用教程

    一.SDK版本v2.0.0初探 一.开发前的准备工作: 1.注册百度账号,并登录.(有百度账号的话直接登录) 2.申请Key,地址:http://developer.baidu.com/map/and ...

  9. 百度地图坐标反查html,通过百度地图api获得坐标或者反向查询地址

    调用百度地图提供的坐标/地址解析,获得对应的地址/坐标,可拓展 调用时需要注册百度并 申请密钥(暂时无限制),然后在程序中代替your_key 第一次使用,发现如果查询不到结果时,返回json中sta ...

最新文章

  1. linux redis 设置日志,linux上redis怎么动态看日志
  2. 来自Facebook AI的多任务多模态的统一Transformer:向更通用的智能迈出了一步
  3. ORACLE的impdp和expdp命令
  4. 各种SmartPhone上的跨平台开源框架的总结
  5. VTK:Utilities之ShallowCopy
  6. cdh编译安装支持各种压缩格式
  7. oracle数据库查看用户相关语句
  8. Flink : Cannot find compatible factory for specified execution.target (=local)
  9. android jni示例_Android切换按钮,开关示例
  10. Quartus II cyclone 系列fpga程序下载到flash中
  11. 自动化测试之数据驱动测试
  12. SSM框架流浪动物管理系统宠物寄样收养领养宠物收容所管理(idea开发javaweb-javaee-j2ee-springboot)
  13. ESXI 6.7 虚拟机配置端口聚合
  14. 读书笔记:汇编语言 第三版 王爽 清华出版社 前言 章一 章二 章三 章四 章五
  15. hdl_localization试读
  16. 1193: [HNOI2006]马步距离
  17. 手握N段大厂实习经历的人生有多爽?
  18. 正交函数系-工程数学笔记
  19. Petalinux入门教程一、使用.xsa文件新建petaLinux工程
  20. 汽车衡称重系统作弊疯狂? “一部”解决

热门文章

  1. db_host 直接用ip地址吗_新买的粉扑能直接用吗?使用粉扑要注意什么?
  2. springboot yml对于list列表配置方式
  3. Compile error: Cannot find a C++ compiler that supports both C++11 and the specified C++ flags
  4. RabbitMQ中queueBind和exchangeBind方法
  5. SVN:show log问题
  6. RestExpress response中addHeader 导致stackOverflow
  7. ansible+Jenkins+supervisor(Jenkins守护进程)
  8. 解决思维导图软件Mindmanager Mindjet连接出错
  9. 回调函数(郁闷至极,总是不理解)
  10. 多人脸检测matlab程序,基于肤色的人脸检测matlab代码