diff --git a/src/ol/reader/geojson/geojson.js b/src/ol/reader/geojson/geojson.js index 8eebad661d..8664aa9bc6 100644 --- a/src/ol/reader/geojson/geojson.js +++ b/src/ol/reader/geojson/geojson.js @@ -9,6 +9,7 @@ goog.require('goog.json'); goog.require('ol.Feature'); goog.require('ol.geom.LineString'); goog.require('ol.geom.MultiLineString'); +goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.Point'); goog.require('ol.geom.Polygon'); @@ -54,6 +55,17 @@ ol.reader.GeoJSON.readMultiLineStringGeometry_ = function(geometry) { }; +/** + * @param {GeoJSONGeometry} geometry Geometry. + * @private + * @return {ol.geom.MultiPolygon} MultiPolygon. + */ +ol.reader.GeoJSON.readMultiPolygonGeometry_ = function(geometry) { + goog.asserts.assert(geometry.type == 'MultiPolygon'); + return new ol.geom.MultiPolygon(geometry.coordinates); +}; + + /** * @param {GeoJSONGeometry} geometry Geometry. * @private @@ -148,7 +160,8 @@ ol.reader.GeoJSON.GEOMETRY_READERS_ = { 'Point': ol.reader.GeoJSON.readPointGeometry_, 'LineString': ol.reader.GeoJSON.readLineStringGeometry_, 'Polygon': ol.reader.GeoJSON.readPolygonGeometry_, - 'MultiLineString': ol.reader.GeoJSON.readMultiLineStringGeometry_ + 'MultiLineString': ol.reader.GeoJSON.readMultiLineStringGeometry_, + 'MultiPolygon': ol.reader.GeoJSON.readMultiPolygonGeometry_ };