迷你 MTR:在地图上看香港地铁实时运行

10 小时 2 分钟前
 7gugu

背景

之前第一次看到 Mini Tokyo 3D 的时候,就很想做一个香港地铁版本:把线路铺在真实地图上,再让列车沿着轨道运行,像看一座微缩城市一样观察整个地铁网络。 不过这个想法搁置了很久。一方面是当时自己的技术实力有限,直白点说就是菜;另一方面是能找到的数据比较零散,线路、站点、时刻表和实时到站信息很难拼到一起,所以一直停留在“以后再做”的阶段。 最近用 GLM 5.3 Flash 把这个坑重新捡了起来。原本只是想试试看能推进到什么程度,结果效果意料之外地好,最后真的做成了一个基本完整、可以直接在浏览器里运行的版本。

项目体验

已实现功能

数据来源

需要说明的是,港铁公开接口提供的主要是预计到站信息,并不是每一辆车的 GPS 坐标。所以画面里的列车位置并非真正意义上的实时定位,而是结合线路、运行时刻表和 Next Train 数据推算、校准出来的。它更接近一个实时驱动的运行模拟,而不是官方调度系统。 目前项目已经开源,代码谈不上多优雅,有些数据处理也比较粗暴,不过总算把多年前想做的东西做出来了。后面准备继续优化列车匹配准确度、移动端体验和渲染性能,也想再补一些更接近 Mini Tokyo 3D 的细节。 如果大家打开后遇到列车乱跑、接口失效、地图加载失败或者浏览器性能问题,可以直接在 GitHub 提 Issue 。也欢迎对港铁数据、Three.js 或地图可视化比较熟的朋友一起折腾。

作者信息

1043 次点击
所在节点    分享创造
10 条回复
mqx
9 小时 34 分钟前
不错鸭,不过打开后风扇呼呼地转,哈哈哈哈
impact108
9 小时 22 分钟前
you'ge 有个疑问,为啥可以看到未来的啊
w797200
9 小时 21 分钟前
看着不错,后续考虑加其他城市的吗?
jackOff
9 小时 18 分钟前
感觉天气预报或者电视台需要这种功能
7gugu
9 小时 5 分钟前
@mqx 对,这个我做的时候也发现了,现在是有性能问题的,需要被修复。
@impact108 因为这个数据是已经提前拿到的时刻表,所以可以看到未来的运行状态
@w797200 本来想做整个大湾区的,但是拿不到其他城市的,就只能先做香港部分的了。(因为大湾区的轨道交通比较发达,可以把城际高铁有轨电车啥的都纳入进来做,看起来比较震撼)
wednesdayco
9 小时 2 分钟前
啊,看到这个想回去玩天际线了
pldxx
7 小时 58 分钟前
地铁列车模型其实还可以做的更真实一点
7gugu
6 小时 41 分钟前
@pldxx 目前是故意做成这个小方块的样子的
gitlight
3 小时 29 分钟前
gis 开发路过。。开发摸鱼的时候读了一下代码,实际上地图的部分有很大优化空间,已 fork 。
7gugu
3 小时 7 分钟前
@gitlight 对的对的,如果有余力欢迎提交 PR 来优化一下项目

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1239407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX