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

news/2024/5/11 15:26:15/文章来源:https://blog.csdn.net/nijiayy/article/details/51189724

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

当然啦,我主要运用的就是国外的一大神写得一个简单的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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_852350.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JQuery实现经典网站后台框架[动易程序改版]

网站后台是每个网站必须的部分,使用一个好的框架也是给用户良好体验的一部分内容,本文将给大家介绍使用JQuery和JS实现的ASP.NET网站后台框架。 首先看看我们需要的资源: 1. FrameTab.js (文章结尾提供下载) 该文件主要…

2010网购市场四大风云 B2C网站将迎来爆发期

春节前后是商家一年中最重要的销售旺季,今年节前加班备战年前销售的不仅仅是传统的商场超市以及批发市场,电子商务网站也因订单量激增、配送环节压力大,频频发出货物延期通知。网购市场的快速增长,让商家争相加入到电子商务大军中…

17Joys CMS企业网站管理系统 v1.0

17Joys CMS是一套使用ThinkPHP框架开发,基于PHPMYSQL免费开源的企业网站系统; 开发目的:为了让跟多的PHP爱好者掌握ThinkPHP框架开发,我们提供CMS源码作为教学案例,希望更多的PHP爱好者可以掌握,并且参与到我们17Joys …

使用InstallShield下部署ASP.NET网站和MySQL,目标机为Win7——(三)整体部署

思路是,Win7自带.Net3.5所以不必安装。Win7也自带IIS,不必安装,但需要打开。MySQL数据库部署是成功的。所以InstalShield内有2个Feature,一个网站,一个MySQL。 关于IIS,我们之前打算在客户端没有打开时&…

基金申请-1:基金委网站文件上传发生未知错误怎么办?

浏览器 浏览器的问题。建议使用Internet Explorer浏览器,火狐,搜狗等浏览器操作,不建议使用Chrome、Edge浏览器。 参考: http://muchong.com/t-12596925-1 https://new.qq.com/omn/20210702/20210702A0B77600.html

用VS2010发布ASP.net网站

用VS2010发布ASP.net网站 2012-03-14 14:29:39| 分类: VS2005 | 标签: |举报 |字号大中小 订阅 http://www.cppblog.com/guogangj/archive/2011/09/13/155703.html 发布网站 发布网站有多种形式,传统方式使用FTP,或用Windo…

如何将JSP的网页部署到网上变成网站

我们都知道我们做的JSP项目,JSP网页只能在本地(自己电脑)或者局域网(内网)访问,如何让所有人都能访问呢? 一. 常见有几大建站语言,有php,ASP,ASP.NET&#…

如何将JSP的网页部署到网上变成网站

我们都知道我们做的JSP项目,JSP网页只能在本地(自己电脑)或者局域网(内网)访问,如何让所有人都能访问呢? 一. 常见有几大建站语言,有php,ASP,ASP.NET&#xf…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(1)

转载自: http://developer.51cto.com/art/201204/327050.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢&#x…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(2)

FROM: http://developer.51cto.com/art/201204/327050_1.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢?在这篇…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(3)

FROM: http://developer.51cto.com/art/201204/327050_2.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢&#x…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(4)

FROM: http://developer.51cto.com/art/201204/327050_3.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢?在这篇…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(5)

FROM: http://developer.51cto.com/art/201204/327050_4.htm?1334978897 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢&#…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(6)

FROM: http://developer.51cto.com/art/201204/327050_5.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢&#x…

爬动漫网站数据_通过这三种动漫爱上数据科学和技术

爬动漫网站数据Yes, it might seem weird to mention anime, data science, and technology in the same breath. But you might be surprised to learn that there’s quite a deep connection across these domains. I am interested in all three (along with reading, list…

网站文件下载代码

效果图&#xff1a; 页面视图代码&#xff1a; <div style"float: right; padding-right: 5px;">Excel模板&#xff1a;Html.ActionLink("下载模版.xls", "GetFile") </div> 控制器代码&#xff1a; //下载模板public FileResult Ge…

【闲趣】CSDN RSS订阅:将你的博客订阅至个人网站

文章目录引言RSS是什么将CSDN博客订阅至我的网站将【知乎每日精选】订阅到我的网站我不是程序员&#xff0c;我怎么订阅RSS订阅地址RSS订阅器RSS实战&#xff1a;Outlook订阅CSDN引言 在翻阅个人文章的时候发现了个不起眼的东西&#xff0c;我好像在别的地方也见过这个标识。 …

英语老师不想让你知道的一些网站

1、练习听力美国国家公共广播电台NPR&#xff1a;http://www.npr.org/特点&#xff1a;标准美式英语。建议&#xff1a;每天花三十分钟左右&#xff0c;反复听英语广播&#xff0c;这是听力过关的必经之路。点击网页中左边“BROWSE TOPICS”下面的“News”选项。选择自己有兴趣…

Java开源建站工具

美国程序员Jon Scott Stevens&#xff0c;公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java&#xff0c;开发项目是一个网站&#xff08;还未上线&#xff09;。所用到的工具都是开源的&#xff0c;可以免费得到。 在目前的创业者之中&#xff0c;用Java作为网站…

如何利用云服务器搭建个人网站

你是否想要搭建一个网站&#xff0c;却苦苦找不到方法&#xff0c;你是否看到别人搭建的网站&#xff0c;自己羡慕不已&#xff0c;今天&#xff0c;就教大家来搭建一个简单的个人网站。 在这里&#xff0c;我采用的是腾讯云服务器搭建的。首先&#xff0c;需要注册腾讯云账号&…