因为本人从小就对地理很痴迷,经常看地图,而且对火车有一种很特殊的感觉。以前吧,从影视作品中也经常看到在一个指挥室里面,工作人员可以时刻的监视火车运行的状态和位置,所以呢,我也打算做一个仅仅针对京沪高铁线路的模拟监视系统~(之所以是模拟呢,就是火车不可能实时的给我们返回位置数据吧,我们实时展示的火车的位置其实是基于当前的时间和火车的离开上一个站点的时间以及到达下一站点的时间计算出来的)

当然啦,我主要运用的就是国外的一大神写得一个简单的jquery库transit.js(连接地址:http://onloop.net/transit/ 注:出于一些原因,这个网站或许需要特殊的方法来访问,具体大家都懂的吧!)这个项目呢,我需要两个api,分别是:Google map,openweathermap(http://openweathermap.org/)。

想必大家都知道一个问题吧,就是当我们想调用一些地图的话(无论是google还是百度或者是高德)我们都是无法获取地图中的铁路线路的,毕竟铁路属于一个国家的很关键的基础设置建设嘛!所以呢,第一步我们就是通过google map的my map(https://www.google.com/maps/d/?hl=en_US&app=mp)功能画出京沪高铁的线路然后导出为kml的格式。我们先简单的看一下最终的成果吧:

这个kml是需要上传到github并且转化为raw的形式(或者任何一个公网可以访问到的地方)这样我们就可以远程访问这个文件了(google map api 需要一个远程的kml文件覆盖在当前地图也就是在当前的额地图上画出铁路):

注:kml文件其实就是自定义的地图文件

然后第二步呢就是从12306上获得我们需要的火车的信息,让我们打开12306的网站,chrome的话按f12进入到开发者的模式下进入network面板,选择输入上海到北京选择高铁:

其实那个response里面就是返回的信息,headers里面有具体的请求方式。京沪高铁一共有68辆高铁,21个站点。

这里的每个火车都是有编号的,我们可以自己输入所有的编号,或者获取12306网站有个js文件就是获得所有火车的id号的,大家也可以试着找找。由于这个请求是https的不涉及验证码,所以我们可以自己写一个程序获取这68趟火车的全部信息然后转化成为我们需要的形式:

然后呢,所有的配置信息填写完毕,我们需要改下transit源码,把我们的天气的信息添加进去:

上图是主要的更改位置,还有一些其他的东西需要修改,大家可以下载github上的代码(我对一部分的源码做了注释,并且转化了可读的格式)看一下~

最后呢,就是在网页部分展示啦~

其实,这个html很简单就是调用google map和transit-min.js而已啦~这里哪个transit的初始化函数的几个参数是:

html对应的div名字,本地kml(用于获得地图上的站点),远程kml文件(用于调用google api画出铁路,火车信息的json文件,是否显示log窗口)

哦对,那个天气信息的获取主要是基于火车当前的经纬度来确定的,为了避免服务器的负担我并没有实时的获取天气,而是检测到当前的火车位置的经度与上次比大于0.5或者纬度大于1度才请求一次的。服务器就是一个简单的额struts的j2ee的结构。

恩,大概就是这个样子吧~不是很难的一个小项目,但是特别的有意思,当别人还在苦苦等待火车为什么没到的时候,你都可以知道这辆火车大概在什么位置啦!

这里有项目的源码,需要的朋友可以参考研究一下哈!

https://github.com/Happyfine/ITrainRoute

京沪高铁上火车位置的实时监视模拟网站的开发相关推荐

  1. 京沪高铁全程提供WiFi无线网络技术揭密

    据新华网和新京报的消息,京沪高铁正式运营后将会在全程车厢里提供WiFi无线宽带服务,京沪高铁全线长达一千多公里,虽然我们暂时还不知道这项服务的收费标准是多少,但并不妨碍我们向各位网友介绍这种高速铁路上 ...

  2. 京沪高铁,终于给了日本。。

    http://www.china.org.cn/english/2004/Aug/105529.htm Chinese train manufacturer Nanche Sifang Locomot ...

  3. 关于京沪高铁与区域经济论坛

    7月初,我们在北大博雅召开了京沪高铁与区域经济论坛.与之前的会议相比,这是我们第一次完全的聚焦在了区域经济的事件上了.基于区域经济热点地区和事件的会议营销不论是对学界还是对企业都是无比重要的.由此联想 ...

  4. 动车组在京沪高铁打破铁路最高运营速度纪录

    新华网江苏徐州12月3日电(记者齐中熙)时速486.1公里!这是喷气飞机低速巡航的速度.时速486.1公里!这是中国新一代高速动车组跑出的速度.时速486.1公里!中国再度刷新世界铁路运营速度纪录,演 ...

  5. 京沪高铁沪宁城铁昆山南站效果图

    京沪高铁沪宁城铁昆山南站效果图[@more@] 京沪高铁沪宁城铁苏州各站揭开面纱 沪宁城铁园区站配套工程春节后开工 正在建设的京沪高速铁路.沪宁城际铁路将根本改变苏州的铁路交通条件.12月17日,江苏 ...

  6. 中国降低京沪高铁票价和速度

    今日查阅Solidot.org时看到一篇新闻,顿时笑了出声.跟大家分享一下哈. <华尔街日报>报导,铁道部副部长胡亚东周一表示,京沪高铁将以时速300公里和250公里两种速度运行. 京沪最 ...

  7. 京沪高铁四天三次事故有力地驳斥了“中国高铁侵犯日本高铁专利”的不实之词。...

    京沪高铁四天三次事故有力地驳斥了"中国高铁侵犯日本高铁专利"的不实之词,百分百地证明系我国自主研发.

  8. 高铁检测试验软件,京沪高铁试验检测项目

    <京沪高铁试验检测项目>由会员分享,可在线阅读,更多相关<京沪高铁试验检测项目(10页珍藏版)>请在人人文库网上搜索. 1.京沪高铁试验检测项目1混凝土原材料每盘称量偏差应符合 ...

  9. 因设备故障 京沪高铁开往北京南方向部分列车晚点

    中新网1月16日电 中国铁路济南局集团有限公司官方微博16日发布消息称,因设备故障,京沪高铁开往北京南方向部分列车晚点,受此影响预计北京南站部分列车始发晚点. 消息表示,铁路部门已启动预案,全力做好各 ...

最新文章

  1. 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数?
  2. 基于SSM实现的图书馆管理系统
  3. Linux-进程、进程组、作业、会话、控制终端详解
  4. 第一章 1 常用库之time
  5. 201521123054《Java程序设计》第1周学习总结
  6. Android 渗透测试学习手册 第一章 Android 安全入门
  7. java与C#对比文章阅读
  8. 如何将类添加到给定的元素?
  9. 51单片机学习笔记003-----烧录软件和编译器的安装
  10. uva_10066 The Twin Towers
  11. 中国移动数据分析的七点经验
  12. win10共享打印机搜索不到计算机,Win10专业版在局域网中搜索不到打印机
  13. 使用云服务器实现共享文件,使用云服务器实现共享文件
  14. android sd卡名称,Android系统中SD卡各文件夹名称及功能详解
  15. 四川一度智信:拼多多活动报名规则解读
  16. JAVA IO流(3)
  17. python支付宝蚂蚁森林_Python数据可视化-支付宝蚂蚁森林能量收取记录
  18. SpringCloud项目无法读取bootstrap.yml配置文件的解决办法
  19. 全局基址 一级基址 二级基址 三级基址的关系
  20. c语言程序设计小组演示ppt,C语言程序设计讲稿完整版幻灯片.ppt

热门文章

  1. 工业制造行业B2B电商平台解决方案
  2. 【机器学习】阿里云天池竞赛——工业蒸汽量预测(4)
  3. quasi-Newton method 拟牛顿法
  4. 计算机成绩排名公式,职称计算机考试:Excel的数据分析—排位与百分比
  5. 广东省数字经济行业发展动态及十四五前景预测分析报告2022-2027年
  6. 中点画线法c语言程序,计算机图形学 :中点画圆法
  7. 在m1/m2芯片的mac电脑上运行Stable Diffusion的全步骤
  8. 终极大招~pycharm自动补全opencv代码提示功能
  9. 微信小程序生成分享图然后保存图片分享朋友圈
  10. 一元运算符 + 表示正号 - 表示负号