Add a style option for vector layers
This can be a single ol.style.Style, and array of styles, or a style function.
This commit is contained in:
@@ -532,7 +532,7 @@
|
|||||||
* @property {number|undefined} opacity Opacity. 0-1. Default is `1`.
|
* @property {number|undefined} opacity Opacity. 0-1. Default is `1`.
|
||||||
* @property {number|undefined} saturation Saturation.
|
* @property {number|undefined} saturation Saturation.
|
||||||
* @property {ol.source.Vector} source Source.
|
* @property {ol.source.Vector} source Source.
|
||||||
* @property {ol.feature.StyleFunction|undefined} styleFunction Style function.
|
* @property {ol.style.Style|Array.<ol.style.Style>|ol.feature.StyleFunction|undefined} style Layer style.
|
||||||
* @property {boolean|undefined} visible Visibility. Default is `true` (visible).
|
* @property {boolean|undefined} visible Visibility. Default is `true` (visible).
|
||||||
* @todo stability experimental
|
* @todo stability experimental
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
goog.provide('ol.layer.Vector');
|
goog.provide('ol.layer.Vector');
|
||||||
|
|
||||||
|
goog.require('goog.asserts');
|
||||||
goog.require('ol.feature');
|
goog.require('ol.feature');
|
||||||
goog.require('ol.layer.Layer');
|
goog.require('ol.layer.Layer');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,9 +29,32 @@ ol.layer.Vector = function(opt_options) {
|
|||||||
|
|
||||||
goog.base(this, /** @type {olx.layer.LayerOptions} */ (options));
|
goog.base(this, /** @type {olx.layer.LayerOptions} */ (options));
|
||||||
|
|
||||||
// FIXME veryify this
|
if (goog.isDef(options.style)) {
|
||||||
if (goog.isDef(options.styleFunction)) {
|
|
||||||
this.setStyleFunction(options.styleFunction);
|
/**
|
||||||
|
* @type {ol.feature.StyleFunction}
|
||||||
|
*/
|
||||||
|
var styleFunction;
|
||||||
|
|
||||||
|
if (goog.isFunction(options.style)) {
|
||||||
|
styleFunction = /** @type {ol.feature.StyleFunction} */ (options.style);
|
||||||
|
} else {
|
||||||
|
/**
|
||||||
|
* @type {Array.<ol.style.Style>}
|
||||||
|
*/
|
||||||
|
var styles;
|
||||||
|
if (goog.isArray(options.style)) {
|
||||||
|
styles = options.style;
|
||||||
|
} else {
|
||||||
|
goog.asserts.assertInstanceof(options.style, ol.style.Style);
|
||||||
|
styles = [options.style];
|
||||||
|
}
|
||||||
|
styleFunction = function(feature, resolution) {
|
||||||
|
return styles;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setStyleFunction(styleFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user