上一篇:全城公交标注系统

上一篇提到了如何综合利用mapabc的数据和baidu map地图来实现全城公交标注功能。实践中发现,十分复杂。于是用了一个简单得多的方法实现了我的目标。首先看看效果图:

实现方法分为三个阶段,介绍如下:

(1)准备数据。首先利用js脚本从mapabc.com抓取全北京的公交线路数据和公交站数据。得到数据格式如下:

var bus_lines = new Array( [110100011384,"1 路(靛厂新村--四惠)","116.280793,39.88953,116.285411,.....(沿途公交点,略)"] ); var bus_stations = new Array( [110100011384,"靛厂新村",116.280793,39.88953], [110100011384,"靛厂村",116.289163,39.889537], [110100011384,"莲宝路口东",116.296119,39.88955], [110100011384,"马官营西",116.302096,39.889698], [110100011384,"马官营",116.306156,39.889928], [110100011384,"六里桥北",116.310587,39.88786], [110100011384,"公主坟南",116.310551,39.90272], [110100011384,"公主坟东",116.312017,39.906172], [110100011384,"军事博物馆",116.325902,39.907398] );

(2)将这些数据转化成js可以识别的数据结构,前后使用了两种方式:

第一种方式:将这些数据格式化成一个js数组,另存为data.js,使用时用<script src="data.js" />导入即可直接使用。该方法实现简单,并且无需服务器端得代码参与,但是缺点却也十分明显:整个data.js占用了11MB的空间,下载速度极慢。利用该方法实现的系统:http://xzaoshu.com/raywill/solu/

第二种方法:将这些数据格式化成MYSQL,然后利用phpMyAdmin导入到数据库中。该方法的优点是数据载入速度快,用户等待时间较短。缺点也不少,首先需要编写服务器端操作数据库的代码(php+mysql),然后还需要编写客户端的数据获取代码(jquery+json),并且每次查询都需要和服务器交互,每次查询地图都需要等待服务器结果。利用该方法实现的系统:http://xzaoshu.com/raywill/solu2/client/

最后发布版本我们选择了方案2.因为方案一每次下载data.js都需要消耗2~4分钟,实在太长。即使尝试了js压缩,效果也还是不理想。如果选择方案一,所有运算都需要编写js代码,包括定位最近的公交,查找对应公交线路等;选择方案2可以充分利用sql语句来进行查询,十分方便。

(3)编写客户端js代码,将数据显示在地图上。这里因为mapabc.com和百度地图的坐标不一致(貌似所有地图网站的坐标都是各自为政,唉,真是要不得!),所以放弃了使用百度地图,而是直接使用mapabc.com的地图。速度还不错~

有兴趣的可以follow我:http://weibo.com/raywill2

原创 全城公交标注系统 (2)相关推荐

  1. 计算机毕业设计ssm基于Java的城市公交查询系统ac5p2系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于Java的城市公交查询系统ac5p2系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于Java的城市公交查询系统ac5p2系统+程序+源码+lw+远程部署 本源码技术栈 ...

  2. java毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署

    java毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署 java毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  3. 全国最大规模主动式公交优先系统落地长沙,希迪智驾创新刚需应用

    文|魏启扬 来源|智能相对论(aixdlun) 喊了很久的智慧公交终于取得了突破性进展. 继4月30日开通载人运营的智慧公交315线之后,长沙市"头羊计划"数字交通车载智能终端技术 ...

  4. JAVA计算机毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署

    JAVA计算机毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署 JAVA计算机毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  5. 近期活动盘点:心电数据标注系统和深度学习诊断算法研究、2019年第六届清华大学大数据社会科学讲习班...

    想知道近期有什么最新活动?大数点为你整理的近期活动信息在此: 第四期医工结合研讨会:心电数据标注系统和深度学习诊断算法研究 2019年7月11日 7月11日,"医工结合系列研讨会第四期会议: ...

  6. [原创] 浅谈ETL系统架构如何测试?

    [原创] 浅谈ETL系统架构如何测试? 来新公司已入职3个月时间,由于公司所处于互联网基金行业,基金天然固有特点,基金业务复杂,基金数据信息众多,基金经理众多等,所以大家可想一下,基民要想赚钱真不容易 ...

  7. php 公交 查询系统,php定做单城市公交路线查询系统

    本人通过调查乌鲁木齐市的公交状况,发现使用公交路线查询系统的人群主要是两大人群:城市居民和公交管理员.而城市居民想要的功能是:可以查找车次,可以查找经过改站点的公交车,两站的换乘以及对公交车站提意见. ...

  8. MYSQL交通系统查询,城市公交查询系统的设计与实现(SSH,MySQL)(含录像)

    城市公交查询系统的设计与实现(SSH,MySQL)(含录像)(开题报告,毕业论文15000字,程序代码,MySQL数据库,答辩PPT) 本文针对公交站的查询实际情况(百度地图),按照软件工程的结构化设 ...

  9. java城市公交查询系统案例_013JAVA.JSP城市公交查询系统.zip

    [实例简介] 本人上传的资源大多是工作学习时的积累, 大部分上传的资源具有 源码+论文+答辩PPT+运行视频 四部分组成. 仅供学习参考,不得用于商业途径,希望能够帮助到大家,谢谢. [实例截图] [ ...

最新文章

  1. Matlab2013a安装简单教程以及遇到的问题解决(反复提示激活问题)
  2. Javascript之学习笔记每日更新
  3. 专访 Christian Posta:Istio 1.7 将成为生产可用的最稳定版本
  4. tensorflow计算图_简单谈谈Tensorflow的运行机制
  5. [观察,找规律]算法题目训练
  6. JDK源码学习笔记——TreeMap及红黑树
  7. 阿里云护航罗振宇2018“时间的朋友”跨年演讲,与千万观众一起跨年 1
  8. Shiro并发登录人数控制遇到的问题和解决
  9. goim 中的 data flow 数据流转及思考
  10. linux文件定时备份到windows,Linux和windows定时备份数据到百度云盘
  11. chartxy 柱状图_关于Chart柱状图的使用,有问题
  12. how to add external library in qt under ubuntu
  13. 脚本文件BAT入门(1)
  14. 单片机c51语言考试试题,51单片机基础知识试题题库(考试用含答案)
  15. 什么是闭包 以及使用场景
  16. react从入门到入魔
  17. 拼音转汉字算法(隐马尔科夫、维特比算法)
  18. 四位共阳极数码管显示函数_4位共阴极数码管单片机驱动
  19. ad被锁定的账户_如何在AD中方便查询被锁定的帐号状态和特定条件的查询被锁定的帐号...
  20. linux 5.5安装万兆网卡驱动,CentOS下安装网卡驱动

热门文章

  1. 如何利用设备管理系统做好设备预防维护保养工作?
  2. 算法设计与分析第七章分支限界算法(完结篇)
  3. 数据库课程设计-宿舍管理系统
  4. linux子进程崩溃父进程如何得知并重启子进程,子进程崩溃父进程如何得知并重启子进程...
  5. LSwarm:复杂城市场景下覆盖受限的大集群高效避碰(Swarm-2019)
  6. Android 模拟器硬件加速
  7. 均值回归,逆市中的投资机会
  8. 星起航:抖音小店适合去做吗
  9. 安装eve-ng时选择桥接模式显示vmnet0未运行
  10. 混合波束成形|进阶:深入浅出混合波束赋形