Git Product home page Git Product logo

osmapp's Introduction

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.
Some architecture DOCS here.

Features 🗺 📱 🖥

  • clickable map – poi, cities, localities, ponds (more coming soon)
  • info panel – presets and fields from iD, images from Wikipedia, Mapillary or Fody, line numbers on public transport stops
  • editing – with osm login. For anonymous users a note is inserted.
  • search engine – try for example "Tesco, London" (powered by Photon). Category search from iD editor presets or pure overpass search (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 (use terrain icon to toggle off)
  • tourist map – from MapTiler: vector, 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 🙂

Coming soon

Compatibility

  • tested in Chrome 90 (Mac,Win,Android,iOS), Safari 14, Firefox 88, Edge 90 (slow)
  • webgl technology needed

Changelog

OsmAPP is updated continuously with every commit. Versioning is used only for summarizing the changes once in a while:

  • v1.4.0 (6/2024)

    • FeaturePanel

      • 🎉 use iD Tagging scheme for properties (PR1, 2)
      • 🖼 add panellum Panorama viewer for Mapillary (@Dlurak, PR)
      • ⭐️ add Stars (favorites) to every element (PR)
      • 🚌 add public transport labels (@Dlurak, PR1, 2)
      • add Food hygiene rating scheme (@Dlurak, PR)
      • add geoUri to coordinates dropdown on mobile (PR)
    • Search

      • 🔎 add search by categories + by overpass query (PR1, 2, 3)
    • Layers:

      • 🏔️ add 3D terrain when user tilts (PR1, 2)
      • ❄️ add overlays support + Snow overlay (PR)
      • 🏞️ add cliffs to outdoor style (PR)
      • add attribution to layers (PR)
      • use new maptiler satellite (@kudlav, PR)
      • add bing satellite (PR)
      • add OpenPlaceGuide Africa - makina maps in Africa bbox (PR)
      • add ČÚZK Ortophoto in CZ bbox (PR)
    • misc

      • 🕸️ add url shortener for every feature (PR)
      • hackish fix of corrupted id from Maptiler (PR)
      • use OAuth 2.0, login button (PR, 2, 3)
      • add disclaimer to homepage – not an official app (PR)
      • optimize homepage because of hackernews mention 🥰 (PR)
      • support language prefixes for all URLs for SEO (PR)
    • climbing features

      • 🧗 topo viewer and editor (@jvaclavik, many PRs)
      • 🗺️ add climbing overlay (PR1, 2, 3, 4, 5)
      • add branding for openclimbing.org domain (PR)
  • v1.3.0 (3/2023)

    • 💡 added dark mode UI (PR)
    • 🖼 updated to Mapillary v4 (@kudlav, PR)
    • added Spanish (@kresp0, PR)
    • added Italian (@ricloy, PR)
    • added French (@le-jun, PR)
  • v1.2.0 (2/2022)

    • 🔎 changed search to Photon API (@kudlav, PR)
    • added Amharic (@amenk, PR)
    • added German (@amenk, PR)
    • added Polish (@strebski, PR)
  • v1.1.0 (8/2021)

    • changed search to Maptiler API (@charleneolsen, PR)

License

GNU GPL

Related projects

We may reuse it in osmapp in the future. First two via #217 – thanks to @leam.

osmapp's People

Contributors

amenk avatar antonindelfabbro avatar arrival-spring avatar charleneolsen avatar danieldegroot2 avatar dlurak avatar flohhhhh avatar jvaclavik avatar kjonosm avatar kresp0 avatar kudlav avatar le-jun avatar ricloy avatar strebski avatar whubsch avatar zbycz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.