TfLJamCams
est un projet Google Maps qui affiche les caméras de circulation, les incidents routiers en direct et les départs en temps réel des transports publics à Londres. L'utilisation de la géolocalisation affiche les arrêts de transports publics locaux à moins de 0,5 km.
Il est disponible sous forme de PWA pour une installation sur l'écran d'accueil des appareils mobiles ou sous forme de page Web standard. Un service worker est déployé et un cache local stocké pour une utilisation PWA.
Les clés API suivantes sont requises pour les appels de données API.
API Javascript de Google Maps - https://cloud.google.com/maps-platform/
Clé de l'application TfL Open Data https://tfl.gov.uk/info-for/open-data-users/
Clé d'application National Rail - https://lite.realtime.nationalrail.co.uk/OpenLDBWS/
Points d'arrêt de la ligne 23 du bus TfL - https://api.tfl.gov.uk/line/23/stoppoints
Stations de la ligne centrale du métro de Londres - https://api.tfl.gov.uk/line/central/stoppoints
JamCams de Londres - https://api.tfl.gov.uk/Place/Type/JamCam/
Incidents en direct - https://api.tfl.gov.uk/Road/All/Disruption?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD
Départs du National Rail - https://lite.realtime.nationalrail.co.uk/OpenLDBWS/
Les caméras de circulation sont chargées via un appel AJAX à l'API TfL. Les URL des vidéos et des images sont fournies par une requête JSON standard. Un bouton en haut de la page permet de basculer entre les flux image et vidéo et affiche également le nombre de flux disponibles.
Des boutons d'image sont fournis en bas de l'écran pour charger les arrêts de bus par numéro d'itinéraire et les stations TfL par nom de ligne.
Les données TfL sont alimentées directement à partir du flux JSON après traitement pour formater les marqueurs de carte. Les lignes de métro sont affichées dans une liste déroulante et les itinéraires de bus sont conservés dans un tableau de saisie semi-automatique sur la page.
Les données de National Rail sont fournies via une requête SOAP XML et utilisent un fichier PHP dédié pour générer un flux JSON dans un format similaire au flux TfL pour plus d'uniformité.
Une fonction de recherche à saisie semi-automatique est fournie et contient un tableau de noms de caméras, de gares ferroviaires nationales de Londres, de villes de Londres, de régions de Londres et d'arrondissements de Londres. Ceci est stocké sous forme de tableau dans la page car les appels à la base de données entraînaient une charge excessive du serveur.
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=fr