From 669f21ca29bdbc379ef21d4aa51e1053fbfdb97c Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Mon, 10 Mar 2014 16:04:05 +0100 Subject: [PATCH] Construct individual line strings directly from flat coordinates --- src/ol/geom/multilinestring.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ol/geom/multilinestring.js b/src/ol/geom/multilinestring.js index c075a5bd6b..ee773a1c51 100644 --- a/src/ol/geom/multilinestring.js +++ b/src/ol/geom/multilinestring.js @@ -136,12 +136,19 @@ ol.geom.MultiLineString.prototype.getEnds = function() { * @todo stability experimental */ ol.geom.MultiLineString.prototype.getLineStrings = function() { - // FIXME we should construct the line strings from the flat coordinates - var coordinates = this.getCoordinates(); + var flatCoordinates = this.flatCoordinates; + var ends = this.ends_; + var layout = this.layout; + /** @type {Array.} */ var lineStrings = []; + var offset = 0; var i, ii; - for (i = 0, ii = coordinates.length; i < ii; ++i) { - lineStrings.push(new ol.geom.LineString(coordinates[i])); + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var lineString = new ol.geom.LineString(null); + lineString.setFlatCoordinates(layout, flatCoordinates.slice(offset, end)); + lineStrings.push(lineString); + offset = end; } return lineStrings; };