diff --git a/src/ol/geom/multipolygon.exports b/src/ol/geom/multipolygon.exports index 3bc1d385c7..07d0d094b8 100644 --- a/src/ol/geom/multipolygon.exports +++ b/src/ol/geom/multipolygon.exports @@ -2,6 +2,7 @@ @exportProperty ol.geom.MultiPolygon.prototype.clone @exportProperty ol.geom.MultiPolygon.prototype.getArea @exportProperty ol.geom.MultiPolygon.prototype.getCoordinates +@exportProperty ol.geom.MultiPolygon.prototype.getInteriorPoints @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 b2be17ca30..4b8db45894 100644 --- a/src/ol/geom/multipolygon.js +++ b/src/ol/geom/multipolygon.js @@ -4,6 +4,7 @@ goog.require('goog.array'); goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.geom.GeometryType'); +goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.Polygon'); goog.require('ol.geom.SimpleGeometry'); goog.require('ol.geom.closest'); @@ -155,6 +156,17 @@ ol.geom.MultiPolygon.prototype.getFlatInteriorPoints = function() { }; +/** + * @return {ol.geom.MultiPoint} Interior points. + */ +ol.geom.MultiPolygon.prototype.getInteriorPoints = function() { + var interiorPoints = new ol.geom.MultiPoint(null); + interiorPoints.setFlatCoordinates(ol.geom.GeometryLayout.XY, + this.getFlatInteriorPoints().slice()); + return interiorPoints; +}; + + /** * @return {Array.} Oriented flat coordinates. */ diff --git a/src/ol/geom/polygon.exports b/src/ol/geom/polygon.exports index d950a3ae05..7500491823 100644 --- a/src/ol/geom/polygon.exports +++ b/src/ol/geom/polygon.exports @@ -2,6 +2,7 @@ @exportProperty ol.geom.Polygon.prototype.clone @exportProperty ol.geom.Polygon.prototype.getArea @exportProperty ol.geom.Polygon.prototype.getCoordinates +@exportProperty ol.geom.Polygon.prototype.getInteriorPoint @exportProperty ol.geom.Polygon.prototype.getLinearRings @exportProperty ol.geom.Polygon.prototype.getType @exportProperty ol.geom.Polygon.prototype.setCoordinates diff --git a/src/ol/geom/polygon.js b/src/ol/geom/polygon.js index 02431cb60e..667a121e43 100644 --- a/src/ol/geom/polygon.js +++ b/src/ol/geom/polygon.js @@ -3,6 +3,7 @@ goog.provide('ol.geom.Polygon'); goog.require('ol.extent'); goog.require('ol.geom.GeometryType'); goog.require('ol.geom.LinearRing'); +goog.require('ol.geom.Point'); goog.require('ol.geom.SimpleGeometry'); goog.require('ol.geom.closest'); goog.require('ol.geom.flat'); @@ -152,6 +153,14 @@ ol.geom.Polygon.prototype.getFlatInteriorPoint = function() { }; +/** + * @return {ol.geom.Point} Interior point. + */ +ol.geom.Polygon.prototype.getInteriorPoint = function() { + return new ol.geom.Point(this.getFlatInteriorPoint()); +}; + + /** * @return {Array.} Linear rings. * @todo stability experimental