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
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.
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.
- 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
- Line numbers on public transport stops
- Runway table on airports
- 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 Outoodr map from MapTiler including marked routes
- layer switcher – still basic, but you can add your own layers
- 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
- undelete – undo accidental delete in osmapp or elsewhere, eg. here
- and lot of little details 🙂
- ➡️ 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.
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
GNU GPL
- 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.
- https://github.com/Qwant/qwantmaps
- Url was eg.
https://qwant.com/maps/place/osm:node:1369322781
– super fast + SSR