TfLJamCams
是一个 Google 地图项目,可显示交通摄像头、实时道路事故以及伦敦公共交通的实时发车情况。使用地理位置可显示 0.5 公里范围内的当地公共交通站点。
它可以作为 PWA 安装到移动设备的主屏幕上,也可以作为标准网页使用。部署 Service Worker 并存储本地缓存以供 PWA 使用。
API 数据调用需要以下 API 密钥。
Google 地图 Javscript API - https://cloud.google.com/maps-platform/
TfL 开放数据应用程序密钥 https://tfl.gov.uk/info-for/open-data-users/
国家铁路应用程序密钥 - https://lite.realtime.nationalrail.co.uk/OpenLDBWS/
TfL 巴士 23 路停靠点 - https://api.tfl.gov.uk/line/23/stoppoints
伦敦地铁中央线车站 - https://api.tfl.gov.uk/line/central/stoppoints
伦敦 JamCams - https://api.tfl.gov.uk/Place/Type/JamCam/
实时事件 - https://api.tfl.gov.uk/Road/All/Disruption?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD
国家铁路出发 - https://lite.realtime.nationalrail.co.uk/OpenLDBWS/
交通摄像头通过 AJAX 调用 TfL API 加载。视频和图像 URL 均由标准 JSON 请求提供。页面顶部的按钮可以在图像和视频源之间切换,并且还显示可用源的计数。
屏幕底部提供图像按钮,可按路线编号加载公交车站,按线路名称加载 TfL 车站。
TfL 数据经过处理以格式化地图标记后直接从 JSON 源馈送。地铁线路显示在下拉列表中,公交车路线保存在页面上的自动完成数组中。
国家铁路数据通过 SOAP XML 请求提供,并使用专用 PHP 文件以与 TfL 源类似的格式输出 JSON 源,以实现统一。
提供自动完成搜索功能,其中包含一系列相机名称、伦敦国家火车站、伦敦城镇、伦敦地区和伦敦自治市镇。这是作为页面中的数组存储的,因为数据库调用导致服务器负载过多。
https://github.com/railalefan/phpOpenLDBWS
jquery.easy-autocomplete.min.js
https://code.jquery.com/jquery-3.3.1.min.js
https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js
https://www.google.com/recaptcha/api.js?hl=en