OpenStreetMap NextGen DD #23 — MapLibre & Dark Theme
Posted by NorthCrab on 27 January 2025 in English.The twenty-third development diary brings substantial architectural changes to OpenStreetMap-NG, marking a pivotal moment in the project’s evolution. This update introduces MapLibre GL JS as our new mapping engine, comprehensive dark theme support, and various quality-of-life improvements that enhance both user experience and technical capabilities.
🔖 You can read other development diaries here:
https://www.openstreetmap.org/user/NorthCrab/diary/
⭐ This project is open-source — join us today:
https://github.com/openstreetmap-ng/openstreetmap-ng
🛈 This initiative is not affiliated with the OpenStreetMap Foundation.
Video Summary
Feel invited to watch this video summary that demonstrates improvements in action. The showcase provides a look at the new MapLibre GL JS integration, dark theme functionality, and various interface refinements that enhance the OpenStreetMap-NG experience.
⬇ Click the image below to play
or click here: https://peertube.monicz.dev/w/892pGP3TqEvepQpiNUnJDu
MapLibre GL JS
A significant leap forward in OpenStreetMap-NG’s technical evolution.
A major technological leap forward as OpenStreetMap-NG transitions from Leaflet to MapLibre GL JS. This foundational change unlocks significant potential for future enhancements, particularly in vector tile support. MapLibre GL JS brings modern mapping capabilities while maintaining the same set of funtionalities.
Already today, users will notice smoother map interactions and noticeably improved rendering performance across the website. Transitioning to MapLibre GL JS required extensive reworking of core mapping components - but this substantial engineering effort future-proofs OpenStreetMap-NG for years to come.
Notes Overlay Enhancements
The notes overlay interaction experience has been refined with dynamic opacity changes on hover for better visibility. Note content previews now use standard web font sizing, greatly improving readability compared to the current OSM Ruby implementation. This enhancement particularly shines in areas with dense note clusters.
Image Export Improvements
Several long-standing export issues have been addressed, including marker support in exported images and automatic OpenStreetMap attribution - fixing a 12-year-old issue. The new browser-based export processing delivers faster results, with a configurable attribution toggle in the export interface.
Antimeridian Bug Fixes
The challenging 180th meridian area has received some love, with reliable image exports and stable custom region selection across the antimeridian. The system maintains consistent behavior when crossing the date line, eliminating previous rendering artifacts and export failures.
Dark Theme
A comprehensive dark mode implementation includes system-preference detection with manual override options and seamless map tile switching between light and dark themes. The update eliminates page reload requirements for theme changes, maintains color consistency throughout the interface, and introduces green hover highlights replacing yellow for better dark mode visibility.
🌠 Sponsors
This update was sponsored by 18 individual supporters on Liberapay and GitHub Sponsors. Thank you! 🦀
- ~1847430
- gileri (Eric G.)
- mutipg
- RedAuburn (Harry Bond)
- ~1819511
- AurimasF (Aurimas Fišeras)
- starsep
- gander (Adam Gąsowski)
- owiecc (Szymon Bęczkowski)
- kkalata (Kamil Kalata)
- okainov (Oleg Kainov)
- sunsurfr
- bryceco
- skfd (skyfallsdown)
Early supporters of the project receive something special: the time-limited OpenStreetMap-NG Founder profile badge. We believe in inclusive community building, so this unique reward is available to every supporter during the development phase, regardless of donation amount.
Discussion
Comment from matheusgomesms on 29 January 2025 at 13:33
Nice! So you consider that NG is now equivalent to OSM in terms of features (no feature disparity)?
Comment from NorthCrab on 29 January 2025 at 15:40
@matheusgomesms I think it only lacks administration and moderation features (reporting users, etc.). These will be worked on after public testing starts.
Comment from matheusgomesms on 29 January 2025 at 17:04
Wonderful, looking forward to it! Congrats!
Comment from RobJN on 30 January 2025 at 22:34
Great progress. Do you have a date for when public testing will start?
Comment from NorthCrab on 31 January 2025 at 01:51
@RobJN I’m working on that now