# Class: GeometryCollection

## ol.geom.GeometryCollection

An array of `ol.geom.Geometry` objects.

#### new ol.geom.GeometryCollection(opt_geometries) experimental

src/ol/geom/geometrycollection.js, line 23

  Name | Type | Description
  --- | --- | ---
  `geometries` | Array.<ol.geom.Geometry> | optional Geometries.

  ##### Fires:

  - `change` experimental - Triggered when the geometry changes.

### Extends

- ol.geom.Geometry

### Methods

#### applyTransform(transformFn) experimental

src/ol/geom/geometrycollection.js, line 253

  Apply a transform function to the geometry. Modifies the geometry in place.

  Name | Type | Description
  --- | --- | ---
  `transformFn` | ol.TransformFunction | Transform.

#### clone(){ol.geom.Geometry} experimental

src/ol/geom/geometrycollection.js, line 89

  ##### Returns:

  Clone.

#### dispatchChangeEvent() inherited experimental

src/ol/observable.js, line 41

  Dispatches a `change` event.

  ##### Fires:

  - `change` experimental

#### getClosestPoint(point, opt_closestPoint){ol.Coordinate} inherited experimental

src/ol/geom/geometry.js, line 116

  Name | Type | Description
  --- | --- | ---
  `point` | ol.Coordinate | Point.
  `closestPoint` | ol.Coordinate | optional Closest point.

  ##### Returns:

  Closest point.

#### getExtent(opt_extent){ol.Extent} experimental

src/ol/geom/geometrycollection.js, line 134

  Get the extent of the geometry.

  Name | Type | Description
  --- | --- | ---
  `extent` | ol.Extent | optional Extent.

  ##### Returns:

  extent Extent.

#### getGeometries(){Array.<ol.geom.Geometry>} experimental

src/ol/geom/geometrycollection.js, line 154

  ##### Returns:

  Geometries.

#### getSimplifiedGeometry(squaredTolerance){ol.geom.Geometry} experimental

src/ol/geom/geometrycollection.js, line 171

  Name | Type | Description
  --- | --- | ---
  `squaredTolerance` | number | Squared tolerance.

  ##### Returns:

  Simplified geometry.

#### getType(){ol.geom.GeometryType} experimental

src/ol/geom/geometrycollection.js, line 216

  ##### Returns:

  Geometry type.

#### on(type, listener, opt_this){goog.events.Key} inherited experimental

src/ol/observable.js, line 63

  Listen for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.
  `this` | Object | optional The object to use as `this` in `listener`.

  ##### Returns:

  Unique key for the listener.

#### once(type, listener, opt_this){goog.events.Key} inherited experimental

src/ol/observable.js, line 76

  Listen once for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.
  `this` | Object | optional The object to use as `this` in `listener`.

  ##### Returns:

  Unique key for the listener.

#### setGeometries(geometries) experimental

src/ol/geom/geometrycollection.js, line 233

  Name | Type | Description
  --- | --- | ---
  `geometries` | Array.<ol.geom.Geometry> | Geometries.

#### transform(source, destination){ol.geom.Geometry} inherited experimental

src/ol/geom/geometry.js, line 187

  Transform a geometry from one coordinate reference system to another. Modifies the geometry in place.

  Name | Type | Description
  --- | --- | ---
  `source` | ol.proj.ProjectionLike | The current projection. Can be a string identifier or a `ol.proj.Projection` object.
  `destination` | ol.proj.ProjectionLike | The desired projection. Can be a string identifier or a `ol.proj.Projection` object.

  ##### Returns:

  This geometry. Note that original geometry is modified in place.

#### un(type, listener, opt_this) inherited experimental

src/ol/observable.js, line 88

  Unlisten for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.
  `this` | Object | optional The object to use as `this` in `listener`.

#### unByKey(key) inherited experimental

src/ol/observable.js, line 98

  Removes an event listener using the key returned by `on()` or `once()`.

  Name | Type | Description
  --- | --- | ---
  `key` | goog.events.Key | Key.