# Class: IGC

## ol.source.IGC

Static vector source in IGC format

#### new ol.source.IGC(opt_options) experimental

src/ol/source/igcsource.js, line 18

  Name | Type | Description
  --- | --- | ---
  `options` | optional Options.
  Name | Type | Description
  --- | --- | ---
  `altitudeMode` | ol.format.IGCZ | undefined | optional Altitude mode. Possible values are `barometric`, `gps`, and `none`. Default is `none`.
  `projection` | ol.proj.ProjectionLike | Destination projection. If provided, features will be transformed to this projection. If not provided, features will not be transformed.
  `text` | string | undefined | optional Text.
  `url` | string | undefined | optional URL.
  `urls` | Array.<string> | undefined | optional URLs.

  ##### Fires:

  - `addfeature` (ol.source.VectorEvent) experimental - Triggered when a feature is added to the source.
  - `change` experimental - Triggered when the state of the source changes.
  - `removefeature` (ol.source.VectorEvent) experimental - Triggered when a feature is removed from the source.

### Extends

- ol.source.StaticVector

### Methods

#### addFeature(feature) inherited experimental

src/ol/source/vectorsource.js, line 107

  Name | Type | Description
  --- | --- | ---
  `feature` | ol.Feature | Feature.

#### addFeatures(features) inherited experimental

src/ol/source/vectorsource.js, line 156

  Name | Type | Description
  --- | --- | ---
  `features` | Array.<ol.Feature> | Features.

#### dispatchChangeEvent() inherited experimental

src/ol/observable.js, line 41

  Dispatches a `change` event.

  ##### Fires:

  - `change` experimental

#### forEachFeature(f, opt_this){S|undefined} inherited experimental

src/ol/source/vectorsource.js, line 197

  Name | Type | Description
  --- | --- | ---
  `f` | function | Callback.
  `this` | T | optional The object to use as `this` in `f`.

#### forEachFeatureInExtent(extent, f, opt_this){S|undefined} inherited experimental

src/ol/source/vectorsource.js, line 232

  Name | Type | Description
  --- | --- | ---
  `extent` | ol.Extent | Extent.
  `f` | function | Callback.
  `this` | T | optional The object to use as `this` in `f`.

#### getClosestFeatureToCoordinate(coordinate){ol.Feature} inherited experimental

src/ol/source/vectorsource.js, line 294

  Name | Type | Description
  --- | --- | ---
  `coordinate` | ol.Coordinate | Coordinate.

  ##### Returns:

  Closest feature.

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

src/ol/source/vectorsource.js, line 340

  ##### Returns:

  Extent.

#### getFeatureById(id){ol.Feature} inherited experimental

src/ol/source/vectorsource.js, line 354

  Get a feature by its identifier (the value returned by feature.getId()). Note that the index treats string and numeric identifiers as the same. So `source.getFeatureById(2)` will return a feature with id `'2'` or `2`.

  Name | Type | Description
  --- | --- | ---
  `id` | string | number | Feature identifier.

  ##### Returns:

  The feature (or `null` if not found).

#### getFeatures(){Array.<ol.Feature>} inherited experimental

src/ol/source/vectorsource.js, line 256

  ##### Returns:

  Features.

#### getFeaturesAtCoordinate(coordinate){Array.<ol.Feature>} inherited experimental

src/ol/source/vectorsource.js, line 271

  Name | Type | Description
  --- | --- | ---
  `coordinate` | ol.Coordinate | Coordinate.

  ##### Returns:

  Features.

#### getState(){ol.source.State} inherited experimental

src/ol/source/source.js, line 142

  ##### Returns:

  State.

#### 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.

#### readFeatures(source){Array.<ol.Feature>} inherited experimental

src/ol/source/formatvectorsource.js, line 116

  Name | Type | Description
  --- | --- | ---
  `source` | ArrayBuffer | Document | Node | Object | string | Source.

  ##### Returns:

  Features.

#### removeFeature(feature) inherited experimental

src/ol/source/vectorsource.js, line 436

  Name | Type | Description
  --- | --- | ---
  `feature` | ol.Feature | Feature.

#### 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.