Shows a text along a Polyline.
Check out the demo !
The version on the gh-pages branch targets Leaflet 0.7.3.
Please use the leaflet0.8-dev branch to be compatible with the development version of Leaflet (0.8).
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);repeatSpecifies if the text should be repeated along the polyline (Default:false)centerCenters the text according to the polyline's bounding box (Default:false)attributesObject containing the attributes applied to thetexttag. Check valid attributes here (Default:{})belowShow text below the path (Default: false)rotateTurn every character of the text clockwise with the specified degrees. Although any angle value may be used, the value is determined by rounding it to the nearest multiple of 90 degrees. (Default: 0)
The main idea comes from Tom Mac Wright's Getting serious about SVG
Breaking changes
- Set option
belowto true to put the text below the layer. It is shown on top by default.
- 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).
- Fix layer order (fixes #5) (thanks Albin Larsson)
- Stay on top after bringToFront
- Clean-up and fix
onAddandonRemove - Fire mouse events from underlying text layer (thanks Lewis Christie)
- Initial working version
Many thanks to all contributors !

