Share editing default styles
This commit is contained in:
@@ -5,6 +5,8 @@ goog.require('goog.functions');
|
||||
goog.require('ol.Feature');
|
||||
goog.require('ol.FeatureOverlay');
|
||||
goog.require('ol.events.condition');
|
||||
goog.require('ol.feature');
|
||||
goog.require('ol.geom.GeometryType');
|
||||
goog.require('ol.interaction.Interaction');
|
||||
|
||||
|
||||
@@ -85,7 +87,8 @@ ol.interaction.Select = function(options) {
|
||||
* @type {ol.FeatureOverlay}
|
||||
*/
|
||||
this.featureOverlay_ = new ol.FeatureOverlay({
|
||||
style: options.style
|
||||
style: (goog.isDef(options.style)) ? options.style :
|
||||
ol.interaction.Select.getDefaultStyleFunction()
|
||||
});
|
||||
|
||||
};
|
||||
@@ -177,3 +180,19 @@ ol.interaction.Select.prototype.setMap = function(map) {
|
||||
goog.base(this, 'setMap', map);
|
||||
this.featureOverlay_.setMap(map);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @return {ol.feature.StyleFunction} Styles.
|
||||
*/
|
||||
ol.interaction.Select.getDefaultStyleFunction = function() {
|
||||
var styles = ol.feature.createDefaultEditingStyles();
|
||||
goog.array.extend(styles[ol.geom.GeometryType.POLYGON],
|
||||
styles[ol.geom.GeometryType.LINE_STRING]);
|
||||
goog.array.extend(styles[ol.geom.GeometryType.GEOMETRY_COLLECTION],
|
||||
styles[ol.geom.GeometryType.LINE_STRING]);
|
||||
|
||||
return function(feature, resolution) {
|
||||
return styles[feature.getGeometry().getType()];
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user