Almost ready
Live trains appear once the GitHub Actions workflows have run.
  1. Add PTV_DEV_ID and PTV_API_KEY as repository secrets
  2. Run the Fetch Network Data workflow (Actions tab)
  3. Run the Fetch Live Train Data workflow
  4. Trains update automatically every ~60 seconds after that
The map shows Melbourne's station layout while you wait.
Lines
Metro
Hurstbridge / Mernda
Belgrave / Lilydale / Alamein / Glen Waverley
Pakenham / Cranbourne
Frankston / Werribee / Williamstown
Craigieburn / Sunbury / Upfield
Sandringham
V/Line
Geelong / Warrnambool
Ballarat / Ararat
Bendigo / Swan Hill
Gippsland
Seymour / Albury / Shepparton