From 53b6db28f84c05098a44060572690ea6da607ac2 Mon Sep 17 00:00:00 2001 From: jvoost Date: Wed, 20 Jan 2016 13:53:09 +0100 Subject: [PATCH 1/2] Added the override of the projectLatlngs for the 1.0 version of leaflet --- leaflet.polylineoffset.js | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/leaflet.polylineoffset.js b/leaflet.polylineoffset.js index 800cd8f..1dc1f63 100644 --- a/leaflet.polylineoffset.js +++ b/leaflet.polylineoffset.js @@ -43,7 +43,7 @@ L.PolylineOffset = { pts[i] = map.project(ll[i]); } return pts; - }, + }, pointsToLatLngs: function(pts, map) { var ll = []; @@ -111,7 +111,7 @@ L.PolylineOffset = { return { a: a, b: pt1.y - a * pt1.x - }; + }; } if (pt1.y != pt2.y) { @@ -153,7 +153,7 @@ L.PolylineOffset = { var joinedPoints = []; var s1 = segments[0], s2 = segments[0]; joinedPoints.push(s1.offset[0]); - + for(var i=1; i= 1.0 + L.Polyline.include({ + _projectLatlngs: function (latlngs, result, projectedBounds) { + var flat = latlngs[0] instanceof L.LatLng, + len = latlngs.length, + i, ring; + + if (flat) { + ring = []; + for (i = 0; i < len; i++) { + ring[i] = this._map.latLngToLayerPoint(latlngs[i]); + projectedBounds.extend(ring[i]); + } + // Offset management hack --- + if(this.options.offset) { + ring = L.PolylineOffset.offsetPoints(ring, this.options.offset); + } + // Offset management hack END --- + result.push(ring); + } else { + for (i = 0; i < len; i++) { + this._projectLatlngs(latlngs[i], result, projectedBounds); + } + } + } + }); } else { // Versions >= 0.8 L.Polyline.include({ From 49d5d1b2b91b0894922659bbeac51e5683029b4c Mon Sep 17 00:00:00 2001 From: jvoost Date: Mon, 25 Jan 2016 10:20:39 +0100 Subject: [PATCH 2/2] Removed duplication of code --- leaflet.polylineoffset.js | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/leaflet.polylineoffset.js b/leaflet.polylineoffset.js index 1dc1f63..3575e4f 100644 --- a/leaflet.polylineoffset.js +++ b/leaflet.polylineoffset.js @@ -225,37 +225,10 @@ if(L.version.charAt(0) == '0' && parseInt(L.version.charAt(2)) < 8) { // Offset management hack END --- } }); -} else if(L.version.charAt(0) == '1') { -// Versions >= 1.0 - L.Polyline.include({ - _projectLatlngs: function (latlngs, result, projectedBounds) { - var flat = latlngs[0] instanceof L.LatLng, - len = latlngs.length, - i, ring; - - if (flat) { - ring = []; - for (i = 0; i < len; i++) { - ring[i] = this._map.latLngToLayerPoint(latlngs[i]); - projectedBounds.extend(ring[i]); - } - // Offset management hack --- - if(this.options.offset) { - ring = L.PolylineOffset.offsetPoints(ring, this.options.offset); - } - // Offset management hack END --- - result.push(ring); - } else { - for (i = 0; i < len; i++) { - this._projectLatlngs(latlngs[i], result, projectedBounds); - } - } - } - }); } else { // Versions >= 0.8 L.Polyline.include({ - _projectLatlngs: function (latlngs, result) { + _projectLatlngs: function (latlngs, result, projectedBounds) { var flat = latlngs[0] instanceof L.LatLng, len = latlngs.length, i, ring; @@ -264,6 +237,9 @@ if(L.version.charAt(0) == '0' && parseInt(L.version.charAt(2)) < 8) { ring = []; for (i = 0; i < len; i++) { ring[i] = this._map.latLngToLayerPoint(latlngs[i]); + if (projectedBounds !== undefined) { + projectedBounds.extend(ring[i]); + } } // Offset management hack --- if(this.options.offset) { @@ -273,7 +249,11 @@ if(L.version.charAt(0) == '0' && parseInt(L.version.charAt(2)) < 8) { result.push(ring); } else { for (i = 0; i < len; i++) { - this._projectLatlngs(latlngs[i], result); + if (projectedBounds !== undefined) { + this._projectLatlngs(latlngs[i], result, projectedBounds); + } else { + this._projectLatlngs(latlngs[i], result); + } } } }