需求:当外部输入公交站点名称,点击查询按钮的时候,会在div上显示所有包含此公交站点的公交线路号的列表,点击列表中的项,会在百度地图上绘制出其线路。

实现:

第一步:生成经过此公交站点的所有线路列表

使用的百度API:服务类中LocalSearch类,用于进行位置搜索、周边搜索和范围搜索。其提供search方法,返回LocalResult给回调函数onSearchComplete。

查询

document.getElementById('query').onclick = function () {map.clearOverlays();keyword01 = document.getElementById('keyword01').value + "公交车站";window.localStorage.setItem('keyword01', keyword01);new BMap.LocalSearch("杭州", {onSearchComplete: searchComplete}).search(keyword01);$("#keyword01").val("");};

LocalResult提供getCurrentNumPois()方法,返回当前页的结果数,由于我们添加了公交车站keyword,所以应该(?)在第一页就能找到此公交车站。getPoi(i)方法,返回LocalResultPoi对象,表示位置检索的一个结果点。

LocalResultPoi对象的属性type为枚举类型poiType,表示地点的类型,限制其为公交车站

function searchComplete(result) {var html = [];for (var i = 0; i < result.getCurrentNumPois(); i++) {var poi = result.getPoi(i);if (poi.type == BMAP_POI_TYPE_BUSSTOP) {var busNames = poi.address.split(';');for (i = 0; i < busNames.length; i++) {//获得了所有的busName 把它写到div中html.push('<li><a href="javascript:void(0)" onclick="subgo(\'' + busNames[i] + '\')">' +busNames[i] +'</a></li>');}} else {}}var l_result = document.getElementById("l-result");l_result.innerHTML = '<ul>' + html.join('') + '</ul>';
}

第二步:列表项点击事件

点击

function subgo(itemNo) {busNo01 = itemNo;window.localStorage.setItem("busNo01", busNo01);busutil.getBusList(busNo01);
}

第三步:列表项点击显示具体的线路信息

服务类中BusLineSearch类是公交线路搜索类。构造其对象,调用其getBusList方法,由于busName已经是很详细的线路名,所以在其回调函数onGetBusListComplete中使用getBusLine(buslist.getBusListItem(curItemNo)只需要0和1

busutil = new BMap.BusLineSearch(map, {renderOptions: {panel: "itemResult"},onGetBusListComplete: function (buslist) {//考虑环线if (buslist.getBusListItem(curItemNo01) == undefined) {curItemNo01 = 0;window.localStorage.setItem('curItemNo01', curItemNo01);}busutil.getBusLine(buslist.getBusListItem(curItemNo01));}});

后面与公交地图按线路查询的步骤相同。参考:

使用百度API实现实时公交线路查询及地图显示

实现效果:

源代码参考:https://gitee.com/constfafa/baidumap_demo

使用百度API实现实时公交站点查询及地图显示相关推荐

  1. 使用百度API实现实时公交站点查询及列表显示

    需求:当外部输入公交站点名称,点击查询按钮的时候,会在div上显示所有包含此公交站点的公交线路号的列表,点击列表中的项,会绘制出其线路列表. 实现: 第一步:生成经过此公交站点的所有线路列表 第二步: ...

  2. 使用百度API实现实时公交线路查询及地图显示

    需求:当外部输入公交线路号,点击查询按钮的时候,会在div上显示所有包含此公交线路号的列表,点击列表中的项,会在百度地图上绘制出其线路. 实现: 第一步:生成线路列表 使用的百度API:服务类中Bus ...

  3. 使用百度API实现实时公交线路查询及列表显示

    当外部输入公交线路号,点击查询按钮的时候,会在div上显示所有包含此公交线路号的列表,点击列表中的项,绘制其站点列表. 实现: 第一步:生成线路列表 第二步:列表项点击事件 与公交地图_按线路查询相同 ...

  4. 高德地图 公交站点查询

    AMap.StationSearch 公交站点查询服务,提供途经公交线路.站点经纬度等信息 高德api接口 AMap.StationSearch这个插件主要用于公交站点的查询,根据我们输入的城市以及站 ...

  5. PHP学习笔记:利用百度api实现手机归属地查询

    从来没有用过api,都不知道怎么获得api的数据,跟着demo,然后修改,终于实现了手机号码查询的功能,代码和说明很全,大家试试. <?php /*** Created by jianqingw ...

  6. 利用百度API Store接口进行火车票查询

    火车票查询 项目源码下载链接: Github:https://github.com/VincentWYJ/TrainTicketQuery 博客文件:http://files.cnblogs.com/ ...

  7. python 爬取百度地图的南京市公交站点

    输入公交路线,获取路线上下行的公交站点名称 import json import math import random import refrom lxml import etree import r ...

  8. 高德地图地铁公交站点...查询

    高德地图的查询(地铁-) 引入的是高德的搜索插件(AMap.PlaceSearch) 具体使用: (记得注册高德地图的key) , 效果图在最后哦. 引入高德sdk,记得注册key 将sdk放在vue ...

  9. 北京实时公交查询微信小程序

    目录 实现效果 源代码 实践报告 摘要 概述 题目的背景及研究意义 本系统主要研究内容 系统需求分析 公交路线查询模块需求分析 附近公交站点信息查看模块需求分析 公交实时信息查看模块需求分析 实时公交 ...

最新文章

  1. android 快应用原理,快应用初探——写一个快应用练练手。
  2. 成功解决from nets import inception_resnet_v2 ModuleNotFoundError: No module named 'nets'
  3. linux编辑模式复制快捷键,Linux vim删除、复制、粘贴快捷键
  4. C++: int int int * int**的区别、联系和用途
  5. 【Java】浅析Java位移运算符<<、>>、>>>
  6. 知识管理java_java面试题 - 集合框架
  7. 智能优化算法:探路者优化算法-附代码
  8. matlab 系统 h10,Thinkbook、ThinkPad出厂带H10混合固态的机器重装系统启用傲腾的方法...
  9. 【雷达】基于粒子群算法优化综合微带天线阵列方向图附matlab代码
  10. 华为ensp中AC下发配置
  11. hivesql uv
  12. 在vue项目中使用骨架屏
  13. 三极管:潜伏3个月的彩蛋是来自火星的么
  14. 已解决cython_bbox安装出现的问题
  15. 【心电信号】基于matlab小波阙值心电信号去噪【含Matlab源码 2188期】
  16. 2021-07-18 Pythan 和 JMP 连接, Python 调用运用程序。
  17. Unity Shader - Simple Toon Shading - 简单卡通渲染
  18. 新手炼丹师的调参内经——深度学习涨点技巧总结
  19. 变电站三维激光扫描应用的介绍_吉优赛维数字孪生建模供应商
  20. 小米android10新特性,小米9 Pro 5G喜提Android10系统更新

热门文章

  1. wps2019数据分析加载项_WPS 2019表格中数据透视表插入计算字段操作教程
  2. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二十三)-CMS识别
  3. 1.1 测控系统对测控电路的要求、测控电路中的重要指标
  4. oracle erp闪退,ORACLE ERP系统经常出现的问题及解决办法
  5. [EAI ERROR]: Cannot bind to the specified serial port /dev/ttyUSB0. process has died[pid 108767, ex
  6. 从零学Java(9)之修饰符,小AD竟打起了钱的主意!
  7. Qt使用C++封装qml自定义图形控件(QQuickPaintedItem)
  8. seo视频教程,seo视频教程,seo新手教学
  9. 微信小程序密文解密工具
  10. 公开课教学反思 计算机,公开课教学反思