goog.provide('ol.source.StaticVector'); goog.require('ol.source.FormatVector'); goog.require('ol.source.State'); /** * @classdesc * A vector source that uses one of the supported formats to read the data from * a file or other static source. * * @constructor * @extends {ol.source.FormatVector} * @fires ol.source.VectorEvent * @param {olx.source.StaticVectorOptions} options Options. * @api */ ol.source.StaticVector = function(options) { goog.base(this, { attributions: options.attributions, format: options.format, logo: options.logo, projection: options.projection }); if (goog.isDef(options.arrayBuffer)) { this.addFeaturesInternal(this.readFeatures(options.arrayBuffer)); } if (goog.isDef(options.doc)) { this.addFeaturesInternal(this.readFeatures(options.doc)); } if (goog.isDef(options.node)) { this.addFeaturesInternal(this.readFeatures(options.node)); } if (goog.isDef(options.object)) { this.addFeaturesInternal(this.readFeatures(options.object)); } if (goog.isDef(options.text)) { this.addFeaturesInternal(this.readFeatures(options.text)); } if (goog.isDef(options.url) || goog.isDef(options.urls)) { this.setState(ol.source.State.LOADING); if (goog.isDef(options.url)) { this.loadFeaturesFromURL(options.url, this.onFeaturesLoadedSuccess_, this.onFeaturesLoadedError_, this); } if (goog.isDef(options.urls)) { var urls = options.urls; var i, ii; for (i = 0, ii = urls.length; i < ii; ++i) { this.loadFeaturesFromURL(urls[i], this.onFeaturesLoadedSuccess_, this.onFeaturesLoadedError_, this); } } } }; goog.inherits(ol.source.StaticVector, ol.source.FormatVector); /** * @private */ ol.source.StaticVector.prototype.onFeaturesLoadedError_ = function() { this.setState(ol.source.State.ERROR); }; /** * @param {Array.} features Features. * @private */ ol.source.StaticVector.prototype.onFeaturesLoadedSuccess_ = function(features) { this.addFeaturesInternal(features); this.setState(ol.source.State.READY); };