diff --git a/src/ol/geom/linestring.js b/src/ol/geom/linestring.js index 5dbe11936e..6d8be32f5c 100644 --- a/src/ol/geom/linestring.js +++ b/src/ol/geom/linestring.js @@ -24,12 +24,16 @@ ol.geom.LineString = function(coordinates) { length = count * dimension; /** - * @type {Float64Array} + * @type {Array} */ - this.coordinates = new Float64Array(length); - for (var i = 0; i < count; ++i) { + this.coordinates = new Array(length); + var i, offset, j; + for (i = 0; i < count; ++i) { goog.asserts.assert(coordinates[i].length === dimension); - this.coordinates.set(coordinates[i], i * dimension); + offset = i * dimension; + for (j = 0; j < dimension; ++j) { + this.coordinates[offset + j] = coordinates[i][j]; + } } /** diff --git a/src/ol/geom/point.js b/src/ol/geom/point.js index 0409929adf..59790ce6ec 100644 --- a/src/ol/geom/point.js +++ b/src/ol/geom/point.js @@ -18,9 +18,9 @@ ol.geom.Point = function(coordinates) { goog.base(this); /** - * @type {Float64Array} + * @type {Array} */ - this.coordinates = new Float64Array(coordinates); + this.coordinates = coordinates; /** * @type {number} diff --git a/test/spec/ol/geom/linearring.test.js b/test/spec/ol/geom/linearring.test.js index ed67faa20d..117289b3fe 100644 --- a/test/spec/ol/geom/linearring.test.js +++ b/test/spec/ol/geom/linearring.test.js @@ -1,3 +1,5 @@ +goog.provide('ol.test.geom.LinearRing'); + describe('ol.geom.LinearRing', function() { describe('constructor', function() { @@ -17,9 +19,8 @@ describe('ol.geom.LinearRing', function() { describe('#coordinates', function() { - it('is a Float64Array', function() { + it('is an array', function() { var ring = new ol.geom.LinearRing([[10, 20], [30, 40]]); - expect(ring.coordinates).toBeA(Float64Array); expect(ring.coordinates.length).toBe(4); expect(ring.coordinates[0]).toBe(10); @@ -47,3 +48,4 @@ describe('ol.geom.LinearRing', function() { }); +goog.require('ol.geom.LinearRing'); diff --git a/test/spec/ol/geom/linestring.test.js b/test/spec/ol/geom/linestring.test.js index 3ddf89d8af..654ffcf208 100644 --- a/test/spec/ol/geom/linestring.test.js +++ b/test/spec/ol/geom/linestring.test.js @@ -20,9 +20,8 @@ describe('ol.geom.LineString', function() { describe('#coordinates', function() { - it('is a Float64Array', function() { + it('is an array', function() { var line = new ol.geom.LineString([[10, 20], [30, 40]]); - expect(line.coordinates).toBeA(Float64Array); expect(line.coordinates.length).toBe(4); expect(line.coordinates[0]).toBe(10); diff --git a/test/spec/ol/geom/point.test.js b/test/spec/ol/geom/point.test.js index 51031e02e9..b4276cfa45 100644 --- a/test/spec/ol/geom/point.test.js +++ b/test/spec/ol/geom/point.test.js @@ -20,9 +20,8 @@ describe('ol.geom.Point', function() { describe('#coordinates', function() { - it('is a Float64Array', function() { + it('is an array', function() { var point = new ol.geom.Point([10, 20]); - expect(point.coordinates).toBeA(Float64Array); expect(point.coordinates.length).toBe(2); expect(point.coordinates[0]).toBe(10);