diff --git a/src/ol/geom/multipolygon.exports b/src/ol/geom/multipolygon.exports index 8bffb1d690..a72bad1bb5 100644 --- a/src/ol/geom/multipolygon.exports +++ b/src/ol/geom/multipolygon.exports @@ -1,4 +1,5 @@ @exportSymbol ol.geom.MultiPolygon @exportProperty ol.geom.MultiPolygon.prototype.getCoordinates +@exportProperty ol.geom.MultiPolygon.prototype.getPolygons @exportProperty ol.geom.MultiPolygon.prototype.getType @exportProperty ol.geom.MultiPolygon.prototype.setCoordinates diff --git a/src/ol/geom/multipolygon.js b/src/ol/geom/multipolygon.js index e2aa94c49e..6249ac779c 100644 --- a/src/ol/geom/multipolygon.js +++ b/src/ol/geom/multipolygon.js @@ -1,6 +1,7 @@ goog.provide('ol.geom.MultiPolygon'); goog.require('ol.geom.Geometry'); +goog.require('ol.geom.Polygon'); goog.require('ol.geom.flat'); @@ -53,6 +54,21 @@ ol.geom.MultiPolygon.prototype.getEndss = function() { }; +/** + * @return {Array.} Polygons. + */ +ol.geom.MultiPolygon.prototype.getPolygons = function() { + // FIXME we should construct the polygons directly from the flat coordinates + var coordinates = this.getCoordinates(); + var polygons = []; + var i, ii; + for (i = 0, ii = coordinates.length; i < ii; ++i) { + polygons.push(new ol.geom.Polygon(coordinates[i])); + } + return polygons; +}; + + /** * @inheritDoc */