TfLJamCams
— это проект Google Maps, который показывает камеры дорожного движения, дорожные происшествия в реальном времени и отправления общественного транспорта в Лондоне в режиме реального времени. Использование геолокации показывает остановки местного общественного транспорта в радиусе 0,5 км.
Он доступен в виде PWA для установки на главный экран мобильных устройств или в виде стандартной веб-страницы. Развертывается сервис-воркер и сохраняется локальный кеш для использования PWA.
Для вызовов данных API необходимы следующие ключи API.
API Javscript Google Карт — https://cloud.google.com/maps-platform/
Ключ приложения открытых данных TfL https://tfl.gov.uk/info-for/open-data-users/
Ключ приложения National Rail — https://lite.realtime.nationalrail.co.uk/OpenLDBWS/
Остановочные точки автобусного маршрута 23 TfL — 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 к API TfL. URL-адреса видео и изображения предоставляются с помощью стандартного запроса JSON. Кнопка в верхней части страницы переключает каналы изображений и видео, а также показывает количество доступных каналов.
Кнопки с изображениями расположены в нижней части экрана для загрузки автобусных остановок по номеру маршрута, станций TfL по названию линии.
Данные TfL подаются непосредственно из канала JSON после обработки для форматирования маркеров карты. Линии метро отображаются в раскрывающемся списке, а маршруты автобусов хранятся в массиве автозаполнения на странице.
Данные National Rail предоставляются через XML-запрос SOAP и используют специальный файл PHP для вывода канала JSON в формате, аналогичном каналу TfL, для единообразия.
Предусмотрена функция автозаполнения поиска, которая содержит массив названий камер, станций Лондонской национальной железной дороги, городов Лондона, районов Лондона и районов Лондона. Он сохраняется в виде массива на странице, поскольку вызовы базы данных вызывают чрезмерную нагрузку на сервер.
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