/osmapp

Lets make a universal app for OpenStreetMap

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

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.

project OpenClimbing.org (beta)

Open climbing maps and topos. Photos are uploaded to Wikimedia Commons and route data stored in OpenStreetMap (spec).

How to contribute 🐱‍💻

You may add issues here on GitHub, or try to update the code in three simple steps:

  1. edit code online with pencil icon (this opens a pull-request) ✏️
  2. wait few minutes for a preview URL 💬
  3. 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 run yarn 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=* or op:<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

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:

License

GNU GPL

Related projects