Coder Social home page Coder Social logo

alyssaxuu / mapus Goto Github PK

View Code? Open in Web Editor NEW
3.3K 52.0 201.0 14.5 MB

A map tool with real-time collaboration 🗺️

License: MIT License

HTML 7.49% JavaScript 72.94% CSS 19.57%
real-time collaboration map maps google-maps leaflet annotation drawing trip planning

mapus's Issues

export text to geojson

Snipaste_2024-02-11_10-35-25

{
    "type": "Feature",
    "properties":
    {
      "textMarker": true,
      "text": "测试文字1",
      "icon":
      {
        "options":
        {
          "className": "pm-text-marker",
          "html":
          {
            "_leaflet_id": 230
          }
        },
        "_initHooksCalled": true
      },
      "type": "marker"
    },
    "geometry":
    {
      "type": "Point",
      "coordinates": [113.305435, 23.125837]
    }
  },

Geojson export without attribute

Hi, for few days recently I have been testing your app and found out that exported geojson files do not have attributes like color, name and description, only geometry.

P.S. Also if possible you could have a screen-flexible version for the app, since leaflet geoman can be usable on smartphone and tablet.

Supabase support?

Hi!
Thanks for a great project!
It looks like it depends on firebase, but it doesn't need to.
There is a replacement for firebase called supabase... Not sure how hard could be to migrate, but it is definitely worth trying as it would mean no external dependencies.
https://supabase.io/

Can not sign in to Google

image

Hi,

I am a hobbyist who like design participatory solution. I found Mapus a great idea.
After I clone the git, change the config as the manual, I could not click in sign in google for further steps.

Does any one know the problem

AutoMerge for sync

Heya, really cool project you made!

I was reading the bit about the data persistence and how it's hard to sync between clients without incurring costs right now, and https://github.com/automerge/automerge came to mind. It uses CRDTs to sync between clients and get to a consistent state, working as offline-first.

I think using that approach for mapus could work if sync was between clients with something like web rtc, and clients kept local state. Then whenever two users that wanted to do stuff together connected to each other, they'd propagate the changes they have to the map. A new user coming to see that map without no other client online would be out of luck though.

Maybe that's enough for ephemeral collaborative sessions though?

AutoMerge has a webrtc lib in https://github.com/automerge/mpl, but for the life of me I can't understand how that example connects.

An alternative for AutoMerge is https://github.com/yjs/yjs, that seems to have a first party webrtc connector in https://github.com/yjs/y-webrtc. I've heard good things about yjs so maybe it's a better starting point right now than AutoMerge.

style.css——color-list

#color-list {
  position: absolute;
  /*margin-top: -85px;*/
  margin-top: -300px;
  height: 40px;
  background-color: #FFF;
  border-radius: 5px;
  border: 1px solid #EAEAEA;
  /*padding-left: 10px;*/
  padding-left: 5px;
  transform: translateX(-50%);
  /*margin-left: 15.5px;*/
  margin-left: 10px;
  width: fit-content;
  visibility: hidden;
}
.color-enabled {
  visibility: visible!important;
}
.color {
  width: 20px;
  height: 20px;
  background-color: #624EEF;
  display: inline-block;
  /*margin-right: 10px;*/
  margin-right: 5px;
  border-radius: 50%;
  margin-top: 10px;
}

image

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.