Awesome
OsmAPP
Let's create a universal app for OpenStreetMap ecosystem. It should be as easy to use as Google Maps, including clickable POIs and editing capabilites. Built with React, Next.js and Maplibre GL. See also SotM 2021 talk.
- master branch: https://osmapp.org
- examples: Empire State Building, Prague Castle or click just anything
project OpenClimbing.org (beta)
Open climbing maps and topos. Photos are uploaded to Wikimedia Commons and route data stored in OpenStreetMap (spec).
- Story behind openclimbing.org
- master branch: https://openclimbing.org
- examples: Prokopské údolí, Roviště, Lomy nad Velkou or click just anything.
- This is the same app served on another domain – only difference is branding and default layers.
How to contribute 🐱💻
You may add issues here on GitHub, or try to update the code in three simple steps:
- edit code online with pencil icon (this opens a pull-request) ✏️
- wait few minutes for a preview URL 💬
- iterate 🔁
If you are a JS dev, you may also
git clone
/yarn
/yarn dev
Or open OsmAPP in gitpod or GitHub Codespaces – full dev environment in your browser.
If Vercel build fails, please runyarn build
locally to debug it.
Architecture DOCS here.
Features 🗺 📱 🖥
- clickable map – poi, cities, localities, ponds (more coming soon)
- feature panel – presets and fields from iD editor
- Display multiple images from Wikipedia, Wikidata, Commons, Mapillary, KartaView, Panoramax or Fody
- public transport: clickable line numbers (on stops), routes on map (on stations), stop itineraries (on routes)
- Runway table on airports
- Socket types on electric vehicle charging stations
- editing – Save changes with osm login. Insert note for anonymous users.
- Opening hours editor – use simple editor for most common cases.
- search engine – try for example "Tesco, London" (powered by Photon).
- Category search from iD editor presets
- For advanced users: support for overpass queries (eg.
amenity=*
orop:<query>
)
- vector maps – with the possibility of tilting to 3D (drag the compass, or do two fingers drag)
- 3D terrain – turned on when tilted
- tourist map – vector Outdoor map from MapTiler including marked routes
- layer switcher – you can add your own layers, also from editor-layer-index list
- mobile applications – using PWA technology, see osmapp.org/install
- permanent URLs – eg. osmapp.org/way/123557148 and shortener, eg. osmapp.org/kkjwwaw
- creating POIs – after clicking the coordinates (see eg. osmapp.org/50.1,14.39)
- languages – interface in English, Czech, German, Polish, Spanish, Amharic, Italian, French, Japanese
- undelete – undo accidental delete in osmapp or elsewhere, eg. here
- and a lot of little details 🙂
Change log + Roadmap
- ➡️ Changelog here
- ➡️ Roadmap here
OsmAPP is updated continuously with every commit. Versioning is used only for summarizing the changes once in a while.
You may discuss OsmAPP in Openstreetmap Discord, channel #software – tag @zbycz.
Special thanks to
We are standing on the shoulders of giants, OsmAPP would not be possible without: OpenStreetMap, MapLibre GL, Wikimedia projects, Photon search, Mapillary, Overpass, iD editor tagging schema, React, Next.js, Material-UI, and many, many others.
Also, big thanks for Free licenses from these awesome companies:
- MapTiler – vector tiles
- InteliJ IDEA – Webstorm IDE
- Sentry – error tracking
- Vercel – hosting with generous free-tier
License
GNU GPL
Related projects
- Cartes.app 🇫🇷
- Universal osm app by @leam via #217
- https://cartes.app (GitHub)
- OpenStreetMap-NG
- Migration of OSM.org to new technologies. We support this project! 🤞❤️
- https://github.com/Zaczero/openstreetmap-ng
- Qwant Maps (sadly not developed anymore)
- great tech stack: BE in Python, geocoding, directions, MaplibreGL. We may reuse parts of code in future. Url was eg.
https://qwant.com/maps/place/osm:node:1369322781
– super fast + SSR. - https://github.com/Qwant/qwantmaps
- great tech stack: BE in Python, geocoding, directions, MaplibreGL. We may reuse parts of code in future. Url was eg.
- Awesome OpenStreetMap projects
- curated list of OSM projects
- https://github.com/osmlab/awesome-openstreetmap#readme