GithubHelp home page GithubHelp logo

jayli3n / leaflet.textpath Goto Github PK

View Code? Open in Web Editor NEW

This project forked from makinacorpus/leaflet.textpath

0.0 0.0 0.0 207 KB

Show text along Polyline with Leaflet

Home Page: https://makinacorpus.github.io/Leaflet.TextPath/

License: MIT License

JavaScript 52.90% HTML 47.10%

leaflet.textpath's Introduction

Leaflet.TextPath

Shows a text along a Polyline.

Check out the demo !

Leaflet versions

The version on the gh-pages branch targets Leaflet 1.3.1.

Usage

For example, show path orientation on mouse over :

    var layer = L.polyLine(...);

    layer.on('mouseover', function () {
        this.setText('  ►  ', {repeat: true, attributes: {fill: 'red'}});
    });

    layer.on('mouseout', function () {
        this.setText(null);
    });

With a GeoJSON containing lines, it becomes:

    L.geoJson(data, {
        onEachFeature: function (feature, layer) {
            layer.setText(feature.properties.label);
        }
    }).addTo(map);

Options

  • repeat Specifies if the text should be repeated along the polyline (Default: false)

  • center Centers the text according to the polyline's bounding box (Default: false)

  • below Show text below the path (Default: false)

  • offset Set an offset to position text relative to the polyline (Default: 0)

  • orientation Rotate text. (Default: 0)

    • {orientation: angle} - rotate to a specified angle (e.g. {orientation: 15})
    • {orientation: flip} - filps the text 180deg correction for upside down text placement on west -> east lines
    • {orientation: perpendicular} - places text at right angles to the line.
  • attributes Object containing the attributes applied to the text tag. Check valid attributes here (Default: {})

Screenshot

screenshot

Credits

The main idea comes from Tom Mac Wright's Getting serious about SVG

Changelog

development

  • Nothing changed yet.

1.1.0

  • Add the orientation option (#27, thanks @kirkau)

1.0.2

  • Allow HTTP and HTTPS to access the demo (#39, thanks @sonny89 and @leplatrem)

1.0.1

  • Fix text centering for vertical lines (#33, #34, #38, thanks @msgoloborodov)

1.0.0

Breaking changes

  • Text is now shown on top by default. Set option below to true to put the text below the layer.

0.2.2

  • Fix bug when removing layer whose text was removed (fixes #18) (thanks Victor Gomes)
  • Fix path width when using options.center (fixes #17) (thanks Brent Miller).

0.2.1

  • Fix layer order (fixes #5) (thanks Albin Larsson)

0.2.0

  • Stay on top after bringToFront
  • Clean-up and fix onAdd and onRemove
  • Fire mouse events from underlying text layer (thanks Lewis Christie)

0.1.0

  • Initial working version

Authors

Many thanks to all contributors !

Makina Corpus

leaflet.textpath's People

Contributors

abbe98 avatar bo-duke avatar danzel avatar dustinrpatterson avatar fredericbonifas avatar jayli3n avatar lellex avatar leplatrem avatar lovell avatar mabhub avatar msgoloborodov avatar olzraiti avatar resonance1584 avatar vhpgomes 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.