Code Monkey home page Code Monkey logo

Comments (8)

brandoncopeland avatar brandoncopeland commented on July 21, 2024

There currently is not. This is a good suggestion.

from leaflet-measure.

brandoncopeland avatar brandoncopeland commented on July 21, 2024

I like this suggestion, but I think we need a few use cases to best design these events.

We could add 2 simple events - measurestart and measureend. Neither would include any additional data. They would fire when the user clicks "Create a new measurement" and when a measurement is completed by either user doubleclick or user clicking "Finish measurement", respectively.

I see potential use of an additional event fired on each new point added/measurement calculated. Something like "measureupdate" with data including raw values of the measurement (area, length, last coordinate). The complexity with this is that all measurements are maintained as meters/sqmeters internally, so exposing this data through an event means it may not match the units specified with the various units options of the control.

@badreal How do would anticipate using the measure start/end events?

from leaflet-measure.

badreal avatar badreal commented on July 21, 2024

For my use case , i needed measurestart and measureend to disable layers click listener to have the possibility to add points on existing layer by simulating a map click.
Another use case is to toggle layers as measure event starts/ends.
That gives lot of opportunities.
As very advanced usage, one could set a maximum area and measureupdate would be used to calculate the area and compare it with max one.

from leaflet-measure.

DavidZebris avatar DavidZebris commented on July 21, 2024

I've also got the problem, that my map-click-listener always gets active when I'm clicking into the map to do a measurement. That opens a popup for every click..

If I had events like "measure-start" and "measure-stop" it would be easy to disable the normal map-click-listener for that time.

I'm still searching for a workaround, but haven't found something yet.

from leaflet-measure.

brandoncopeland avatar brandoncopeland commented on July 21, 2024

While start/end events will be useful, it sounds like the real problem is Issue #25. I think resolving that issue will be a priority.

from leaflet-measure.

brandoncopeland avatar brandoncopeland commented on July 21, 2024

While measurestart and measureend have been suggested a few times, it seems the reason is always to disable click events on other map markers. I'm not opposed to adding these events, but I am leaning towards adding a solution to avoid click events on other map layers while a measure is active. Just do this by default (with maybe an option to disable) instead of requiring everyone to add some implementation inside of these events.

Regardless, this issue seems to be affecting a few people. I'll make an effort to add a fix within the next week or so.

from leaflet-measure.

DrYSG avatar DrYSG commented on July 21, 2024

From a UI/HumanFactors viewpoint, and from watching users, I would agree. Measurement is pretty much a single mode of workflow, and you want a "dead" map when taking measurements, not live things popping up or happening.

from leaflet-measure.

brandoncopeland avatar brandoncopeland commented on July 21, 2024

I would still like to add this feature to disable/avoid other click events (issue #37). In the meantime, I went ahead and merged the alternative measurestart, measureend events at commit 2a383db.

from leaflet-measure.

Related Issues (20)

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.