Skip to content

v4.0.0

Latest

Choose a tag to compare

@nagix nagix released this 14 Aug 17:28

Breaking Changes

  • Unify the train, flight and bus data sources into a single dataSources option, and add Map#addDataSource() / Map#removeDataSource() to manage them at runtime
  • Load the bundled map style and localization dictionaries from an assets folder relative to the script, so CDN and self-hosted setups work without a separate data server
  • Ship a dedicated CommonJS build as main, add ES module source maps, and drop the development UMD build

Features and improvements

  • Rebuild the map style on the Mapbox v3 style specification, and introduce a new style with high-definition road, elevated highway and bridge models
  • Add fog and adjust the sky atmosphere color
  • Overhaul 3D layer lighting: derive it from the Mapbox lights (gamma-correct), animate the sun with throttled updates, and add brightness-based distance fog to the ThreeLayer and Tile3DLayer
  • Add the light event and Map#getLight() to read the current directional and ambient lights and the overall brightness
  • Handle polar day and night, ramp up the twilight directional light, and warm the sunset ambient color
  • Set the time-based lights and sky before the first frame to avoid a color flash
  • Determine the clock's time zone from the loaded data (Japan Standard Time, or a GTFS feed's agency_timezone)
  • When the gtfsurl parameter is set, show only that GTFS dataset instead of the default Tokyo data and set the clock to its local time zone
  • Allow initializing the map with no data by omitting dataUrl
  • Support displaying GTFS static-only datasets
  • Improve the GTFS and GTFS Realtime loading process and load feeds using multiple workers
  • Add a route property to GTFS, apply the route color to the vehicle timetable, and highlight the route when a vehicle is marked or tracked
  • Display departure times for GTFS vehicles and show a realtime icon in their popups and panels
  • Merge realtime train data from multiple sources
  • Support dynamic loading of the train ad data
  • Add a "Share this station" button, with an open/close animation on the share panel
  • Optimize 3D object meshes
  • Calculate vehicle positions using the GPU
  • Improve camera parameter calculation at low frame rates
  • Improve vehicle acceleration calculations
  • Update the operator list in the about panel
  • Add French language support and documentation. Thanks @Jouca
  • Add Simplified Chinese documentation. Thanks @narakai
  • Add prerender and render hooks to ThreeLayer so a custom layer can render into offscreen targets and run post-processing (such as bloom) before compositing onto the map
  • Fade markers in and out when they are added to or removed from the map

Data Updates

  • Add the Hakone-Tozan, Daiyuzan, Sunzu, Izukyu, Fujikyu, Kashima Rinkai Railway Oarai-Kashima, Choshi Electric Railway, Minato, Utsunomiya Light Rail, Moka, JR Nikko, Joetsu, JR Karasuyama, JR Shinetsu, JR Agatsuma, JR Suigun, Joshin, Jomo and Watarase Keikoku lines
  • Add the JR Gotemba line and the JR–Odakyu connection at Matsuda
  • Extend the JR Utsunomiya, Joban and Chuo lines
  • Change the Shin-Keisei Line to the Keisei Matsudo Line
  • Add Air Cambodia, Parata Air, Thai VietJet Air and Alaska Airlines; remove Fly Gangwon; update the IATA code for Techo International Airport
  • Replace the Open Data Challenge for Public Transportation 2024 data source with the 2026 edition
  • Update Tokyo Metro Marunouchi line timetables according to the schedule revision on December 7, 2024
  • Update Nippori-Toneri Liner timetables according to the schedule revision on February 3, 2025
  • Revise timetables according to the schedule revision on March 15, 2025
  • Update Yukarigaoka line timetables according to the schedule revision on April 1, 2025
  • Update Yurikamome line timetables according to the schedule revision on October 18, 2025
  • Update Tokyo Metro Ginza line timetables according to the schedule revision on November 1, 2025
  • Update Yokohama Municipal Subway timetables according to the schedule revision on November 1, 2025
  • Update Toei Asakusa line, Keikyu, Keisei, Hokuso and Shibayama Railway timetables according to the schedule revision on December 15, 2025
  • Update Enoden line timetables according to the schedule revision on December 20, 2025
  • Revise timetables according to the schedule revision on March 14, 2026
  • Update Utsunomiya Light Rail timetables according to the schedule revision on April 1, 2026
  • Update Yukarigaoka line timetables according to the schedule revision on May 1, 2026
  • Correct the Kanto Railway Joso, Odakyu Odawara, Enoshima, Sotetsu Main, Shin-Yokohama, Tokyu Shin-Yokohama, JR Joban Rapid and JR Gotemba line timetables, and correct train types
  • Update operator and railway IDs, and the dynamic properties of railways
  • Correct the titles of the Izukyu line and add missing utitle properties for station search
  • Update station data of Ashigara, add more station groups, and update station exit poi data

Bug fixes

  • Fix the issue where train departure times were displayed incorrectly
  • Fix the issue where train names were displayed incorrectly
  • Fix the auto-scrolling issue of the train timetable
  • Fix the error during data preloading
  • Skip GTFS stop_times rows with an invalid departure_time. Thanks @tomaszssadowski
  • Make GTFS route lines transparent in underground mode
  • Make the year-end and new year holidays non-specific to any particular year
  • Fix an issue where trains did not appear immediately when the search mode changed
  • Fix the issue where the positions of 3D objects shifted after displaying station exits
  • Fix the issue where station thumbnail images failed to load from Wikipedia
  • Fix the map cursor by reading the dynamic cursor style from the deck.gl canvas
  • Work around an issue where transitions on deck.gl layers did not work properly
  • Fix hidden markers intercepting pointer events, which blocked interaction with markers behind them