Class: Vector

ol.source.Vector

Provides a source of features for vector layers.

new ol.source.Vector(opt_options)

src/ol/source/vectorsource.js, line 74
Name Type Description
options

Vector source options.

Name Type Description
attributions Array.<ol.Attribution> | undefined

Attributions.

features Array.<ol.Feature> | undefined

Features.

format ol.format.Feature | undefined experimental

The feature format used by the XHR feature loader when url is set. Required if url is set, otherwise ignored. Default is undefined.

loader ol.FeatureLoader | undefined experimental

The loader function used to load features, from a remote source for example. Note that the source will create and use an XHR feature loader when url is set.

logo string | olx.LogoOptions | undefined

Logo.

strategy ol.LoadingStrategy | undefined experimental

The loading strategy to use. By default an ol.loadingstrategy.all strategy is used, a one-off strategy which loads all features at once.

url string | undefined experimental

Setting this option instructs the source to use an XHR loader (see ol.featureloader.xhr) and an ol.loadingstrategy.all for a one-off download of all features from that URL. Requires format to be set as well.

wrapX boolean | undefined experimental

Wrap the world horizontally. Default is true. For vector editing across the -180° and 180° meridians to work properly, this should be set to false. The resulting geometry coordinates will then exceed the world bounds.

Fires:

Subclasses

Extends

Methods

addFeature(feature)

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

Add a single feature to the source. If you want to add a batch of features at once, call source.addFeatures() instead.

Name Type Description
feature ol.Feature

Feature to add.

addFeatures(features)

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

Add a batch of features to the source.

Name Type Description
features Array.<ol.Feature>

Features to add.

changed() inherited experimental

src/ol/observable.js, line 52

Increases the revision counter and dispatches a 'change' event.

Fires:
  • change experimental

clear(opt_fast)

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

Remove all features from the source.

Name Type Description
fast boolean

Skip dispatching of removefeature events.

forEachFeature(callback, opt_this){S|undefined}

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

Iterate through all features on the source, calling the provided callback with each one. If the callback returns any "truthy" value, iteration will stop and the function will return the same value.

Name Type Description
callback function

Called with each feature on the source. Return a truthy value to stop iteration.

this T

The object to use as this in the callback.

Returns:
The return value from the last call to the callback.

forEachFeatureInExtent(extent, callback, opt_this){S|undefined} experimental

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

Iterate through all features whose bounding box intersects the provided extent (note that the feature's geometry may not intersect the extent), calling the callback with each feature. If the callback returns a "truthy" value, iteration will stop and the function will return the same value.

If you are interested in features whose geometry intersects an extent, call the source.forEachFeatureIntersectingExtent() method instead.

Name Type Description
extent ol.Extent

Extent.

callback function

Called with each feature whose bounding box intersects the provided extent.

this T

The object to use as this in the callback.

Returns:
The return value from the last call to the callback.

forEachFeatureIntersectingExtent(extent, callback, opt_this){S|undefined} experimental

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

Iterate through all features whose geometry intersects the provided extent, calling the callback with each feature. If the callback returns a "truthy" value, iteration will stop and the function will return the same value.

If you only want to test for bounding box intersection, call the source.forEachFeatureInExtent() method instead.

Name Type Description
extent ol.Extent

Extent.

callback function

Called with each feature whose geometry intersects the provided extent.

this T

The object to use as this in the callback.

Returns:
The return value from the last call to the callback.

get(key){*} inherited

src/ol/object.js, line 150

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getAttributions(){Array.<ol.Attribution>} inherited

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

Get the attributions of the source.

Returns:
Attributions.

getClosestFeatureToCoordinate(coordinate){ol.Feature}

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

Get the closest feature to the provided coordinate.

Name Type Description
coordinate ol.Coordinate

Coordinate.

Returns:
Closest feature.

getExtent(){ol.Extent}

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

Get the extent of the features currently in the source.

Returns:
Extent.

getFeatureById(id){ol.Feature}

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

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>}

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

Get all features on the source.

Returns:
Features.

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

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

Get all features whose geometry intersects the provided coordinate.

Name Type Description
coordinate ol.Coordinate

Coordinate.

Returns:
Features.

getFeaturesInExtent(extent){Array.<ol.Feature>} experimental

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

Get all features in the provided extent. Note that this returns all features whose bounding boxes intersect the given extent (so it may include features whose geometries do not intersect the extent).

Name Type Description
extent ol.Extent

Extent.

Returns:
Features.

getKeys(){Array.<string>} inherited

src/ol/object.js, line 164

Get a list of object property names.

Returns:
List of property names.
src/ol/source/source.js, line 114

Get the logo of the source.

Returns:
Logo.

getProjection(){ol.proj.Projection} inherited experimental

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

Get the projection of the source.

Returns:
Projection.

getProperties(){Object.<string, *>} inherited

src/ol/object.js, line 174

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited experimental

src/ol/observable.js, line 62
Returns:
Revision.

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

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

Get the state of the source, see ol.source.State for possible states.

Returns:
State.

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

src/ol/observable.js, line 75

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

The object to use as this in listener.

Returns:
Unique key for the listener.

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

src/ol/observable.js, line 88

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

The object to use as this in listener.

Returns:
Unique key for the listener.

removeFeature(feature)

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

Remove a single feature from the source. If you want to remove all features at once, use the source.clear() method instead.

Name Type Description
feature ol.Feature

Feature to remove.

set(key, value) inherited

src/ol/object.js, line 203

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

setProperties(values) inherited

src/ol/object.js, line 216

Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

Name Type Description
values Object.<string, *>

Values.

un(type, listener, opt_this) inherited

src/ol/observable.js, line 101

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

The object which was used as this by the listener.

unByKey(key) inherited

src/ol/observable.js, line 114

Removes an event listener using the key returned by on() or once(). Note that using the ol.Observable.unByKey static function is to be preferred.

Name Type Description
key goog.events.Key

The key returned by on() or once().

unset(key) inherited

src/ol/object.js, line 229

Unsets a property.

Name Type Description
key string

Key name.