UNPKG

leaflet

Version:

JavaScript library for mobile-friendly interactive maps

31 lines (25 loc) 722 B
/* * Extends L.Polyline to be able to manually detect clicks on Canvas-rendered polylines. */ L.Polyline.include(!L.Path.CANVAS ? {} : { _containsPoint: function (p, closed) { var i, j, k, len, len2, dist, part, w = this.options.weight / 2; if (L.Browser.touch) { w += 10; // polyline click tolerance on touch devices } for (i = 0, len = this._parts.length; i < len; i++) { part = this._parts[i]; for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) { if (!closed && (j === 0)) { continue; } dist = L.LineUtil.pointToSegmentDistance(p, part[k], part[j]); if (dist <= w) { return true; } } } return false; } });