From 0c5134b78933c727d0a061479c1e92d7f46dbf7c Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 6 Dec 2017 17:43:58 +0100 Subject: [PATCH 1/5] Merge pull request #7541 from ahocevar/vectorrendertype-case Fix case of vectorrendertype.js --- src/ol/layer/{VectorRenderType.js => vectorrendertype.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/ol/layer/{VectorRenderType.js => vectorrendertype.js} (100%) diff --git a/src/ol/layer/VectorRenderType.js b/src/ol/layer/vectorrendertype.js similarity index 100% rename from src/ol/layer/VectorRenderType.js rename to src/ol/layer/vectorrendertype.js From 50053c1b3f7f7b28376c452a9f93adac3a091ff0 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 6 Dec 2017 21:07:38 +0100 Subject: [PATCH 2/5] Merge pull request #7542 from ahocevar/overflow Still respect deprecated exceedLength option --- src/ol/style/text.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ol/style/text.js b/src/ol/style/text.js index bfd91b98f8..0a8ee5c9b5 100644 --- a/src/ol/style/text.js +++ b/src/ol/style/text.js @@ -78,11 +78,14 @@ ol.style.Text = function(opt_options) { */ this.placement_ = options.placement !== undefined ? options.placement : ol.style.TextPlacement.POINT; + //TODO Use options.overflow directly after removing @deprecated exceedLength + var overflow = options.overflow === undefined ? options.exceedLength : options.overflow; + /** * @private * @type {boolean} */ - this.overflow_ = options.overflow !== undefined ? options.overflow : false; + this.overflow_ = overflow !== undefined ? overflow : false; /** * @private From 2bce90470e12374facc6bb60241c638c13ba4451 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 6 Dec 2017 21:28:12 +0100 Subject: [PATCH 3/5] Merge pull request #7543 from ahocevar/interiorpoint-donut Donut polygon labels do not get a chance to get rendered --- src/ol/geom/flat/interiorpoint.js | 24 +++++++++++++----------- test/spec/ol/geom/polygon.test.js | 11 +++++++++++ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/ol/geom/flat/interiorpoint.js b/src/ol/geom/flat/interiorpoint.js index f3b263964a..7886691825 100644 --- a/src/ol/geom/flat/interiorpoint.js +++ b/src/ol/geom/flat/interiorpoint.js @@ -24,18 +24,20 @@ ol.geom.flat.interiorpoint.linearRings = function(flatCoordinates, offset, /** @type {Array.} */ var intersections = []; // Calculate intersections with the horizontal line - var end = ends[0]; - x1 = flatCoordinates[end - stride]; - y1 = flatCoordinates[end - stride + 1]; - for (i = offset; i < end; i += stride) { - x2 = flatCoordinates[i]; - y2 = flatCoordinates[i + 1]; - if ((y <= y1 && y2 <= y) || (y1 <= y && y <= y2)) { - x = (y - y1) / (y2 - y1) * (x2 - x1) + x1; - intersections.push(x); + for (var r = 0, rr = ends.length; r < rr; ++r) { + var end = ends[r]; + x1 = flatCoordinates[end - stride]; + y1 = flatCoordinates[end - stride + 1]; + for (i = offset; i < end; i += stride) { + x2 = flatCoordinates[i]; + y2 = flatCoordinates[i + 1]; + if ((y <= y1 && y2 <= y) || (y1 <= y && y <= y2)) { + x = (y - y1) / (y2 - y1) * (x2 - x1) + x1; + intersections.push(x); + } + x1 = x2; + y1 = y2; } - x1 = x2; - y1 = y2; } // Find the longest segment of the horizontal line that has its center point // inside the linear ring. diff --git a/test/spec/ol/geom/polygon.test.js b/test/spec/ol/geom/polygon.test.js index 0a6345abe4..915771081c 100644 --- a/test/spec/ol/geom/polygon.test.js +++ b/test/spec/ol/geom/polygon.test.js @@ -550,6 +550,17 @@ describe('ol.geom.Polygon', function() { expect(interiorPoint.layout).to.be('XYM'); expect(interiorPoint.getCoordinates()).to.eql([0.5, 0.5, 1]); }); + + it('returns XYM point for donut polygons', function() { + var geom = new ol.geom.Polygon([ + [[0.5, 0.5], [0.5, 2.5], [2.5, 2.5], [2.5, 0.5], [0.5, 0.5]], + [[1, 1], [2, 1], [2, 2], [1, 2], [1, 1]] + ]); + var interiorPoint = geom.getInteriorPoint(); + expect(interiorPoint.getType()).to.be('Point'); + expect(interiorPoint.layout).to.be('XYM'); + expect(interiorPoint.getCoordinates()).to.eql([0.75, 1.5, 0.5]); + }); }); describe('ol.geom.Polygon.fromExtent', function() { From a96b8c5ca645c5f6e653342c002375ead3fb7dbd Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 6 Dec 2017 21:42:35 +0100 Subject: [PATCH 4/5] Changelog for v4.6.1 --- changelog/v4.6.1.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 changelog/v4.6.1.md diff --git a/changelog/v4.6.1.md b/changelog/v4.6.1.md new file mode 100644 index 0000000000..3ae6dc13b9 --- /dev/null +++ b/changelog/v4.6.1.md @@ -0,0 +1,9 @@ +# 4.6.1 + +The v4.6.1 release fixes a number of issues in the 4.6 releases. + +## Fixes + + * [#7543](https://github.com/openlayers/openlayers/pull/7543) - Donut polygon labels do not get a chance to get rendered ([@ahocevar](https://github.com/ahocevar)) + * [#7542](https://github.com/openlayers/openlayers/pull/7542) - Still respect deprecated exceedLength option ([@ahocevar](https://github.com/ahocevar)) + * [#7541](https://github.com/openlayers/openlayers/pull/7541) - Fix case of vectorrendertype.js ([@ahocevar](https://github.com/ahocevar)) From 992bfdc1266589ac1d1535c830ab5a8628571eec Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 6 Dec 2017 21:43:24 +0100 Subject: [PATCH 5/5] Update package version to 4.6.1 --- package.json | 2 +- package/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index df1d5dc024..4846c7dc32 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openlayers", - "version": "4.6.0", + "version": "4.6.1", "description": "Build tools and sources for developing OpenLayers based mapping applications", "keywords": [ "map", diff --git a/package/package.json b/package/package.json index 2a00687379..d3a2ad1796 100644 --- a/package/package.json +++ b/package/package.json @@ -1,6 +1,6 @@ { "name": "ol", - "version": "4.6.0", + "version": "4.6.1", "description": "OpenLayers as ES2015 modules", "main": "index.js", "module": "index.js",