diff --git a/src/ol/geom/flat/interpolateflatgeom.js b/src/ol/geom/flat/interpolateflatgeom.js index dcfb16e2cb..9d24deb9da 100644 --- a/src/ol/geom/flat/interpolateflatgeom.js +++ b/src/ol/geom/flat/interpolateflatgeom.js @@ -61,7 +61,8 @@ ol.geom.flat.interpolate.lineString = } } if (goog.isDefAndNotNull(opt_dest)) { - opt_dest.push(pointX, pointY); + opt_dest[0] = pointX; + opt_dest[1] = pointY; return opt_dest; } else { return [pointX, pointY]; diff --git a/test/spec/ol/geom/flat/interpolateflatgeom.test.js b/test/spec/ol/geom/flat/interpolateflatgeom.test.js index 13cdf9f0ca..a9b205bc04 100644 --- a/test/spec/ol/geom/flat/interpolateflatgeom.test.js +++ b/test/spec/ol/geom/flat/interpolateflatgeom.test.js @@ -42,6 +42,14 @@ describe('ol.geom.flat.interpolate', function() { expect(point).to.eql([3, 4]); }); + it('returns the expected value when using opt_dest', + function() { + var flatCoordinates = [0, 1, 2, 3, 6, 7]; + var point = ol.geom.flat.interpolate.lineString( + flatCoordinates, 0, 6, 2, 0.5, [0, 0]); + expect(point).to.eql([3, 4]); + }); + }); });