Merge pull request #1638 from elemoine/featureoverlay

Rename ol.render.FeaturesOverlay to ol.FeatureOverlay
This commit is contained in:
Éric Lemoine
2014-02-06 18:00:09 +01:00
11 changed files with 46 additions and 46 deletions

View File

@@ -1,9 +1,9 @@
goog.require('ol.FeatureOverlay');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.RendererHint'); goog.require('ol.RendererHint');
goog.require('ol.View2D'); goog.require('ol.View2D');
goog.require('ol.layer.Image'); goog.require('ol.layer.Image');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.render.FeaturesOverlay');
goog.require('ol.source.GeoJSON'); goog.require('ol.source.GeoJSON');
goog.require('ol.source.ImageVector'); goog.require('ol.source.ImageVector');
goog.require('ol.source.MapQuest'); goog.require('ol.source.MapQuest');
@@ -57,7 +57,7 @@ var highlightStyleArray = [new ol.style.Style({
}) })
})]; })];
var featuresOverlay = new ol.render.FeaturesOverlay({ var featureOverlay = new ol.FeatureOverlay({
map: map, map: map,
styleFunction: function(feature, resolution) { styleFunction: function(feature, resolution) {
return highlightStyleArray; return highlightStyleArray;
@@ -80,10 +80,10 @@ var displayFeatureInfo = function(pixel) {
if (feature !== highlight) { if (feature !== highlight) {
if (highlight) { if (highlight) {
featuresOverlay.removeFeature(highlight); featureOverlay.removeFeature(highlight);
} }
if (feature) { if (feature) {
featuresOverlay.addFeature(feature); featureOverlay.addFeature(feature);
} }
highlight = feature; highlight = feature;
} }

View File

@@ -1,3 +1,4 @@
goog.require('ol.FeatureOverlay');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.RendererHint'); goog.require('ol.RendererHint');
goog.require('ol.View2D'); goog.require('ol.View2D');
@@ -5,7 +6,6 @@ goog.require('ol.interaction');
goog.require('ol.interaction.Select'); goog.require('ol.interaction.Select');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector'); goog.require('ol.layer.Vector');
goog.require('ol.render.FeaturesOverlay');
goog.require('ol.source.GeoJSON'); goog.require('ol.source.GeoJSON');
goog.require('ol.source.MapQuest'); goog.require('ol.source.MapQuest');
goog.require('ol.style.Fill'); goog.require('ol.style.Fill');
@@ -42,7 +42,7 @@ var vector = new ol.layer.Vector({
}); });
var select = new ol.interaction.Select({ var select = new ol.interaction.Select({
featuresOverlay: new ol.render.FeaturesOverlay({ featureOverlay: new ol.FeatureOverlay({
styleFunction: function(feature, layer) { styleFunction: function(feature, layer) {
return selectedStyle; return selectedStyle;
} }

View File

@@ -35,7 +35,7 @@
<div id="docs"> <div id="docs">
<p>See the <a href="vector-layer.js" target="_blank">vector-layer.js source</a> to see how this is done.</p> <p>See the <a href="vector-layer.js" target="_blank">vector-layer.js source</a> to see how this is done.</p>
</div> </div>
<div id="tags">vector, geojson, style, features overlay</div> <div id="tags">vector, geojson, style, feature overlay</div>
</div> </div>
<div class="span4 offset4"> <div class="span4 offset4">
<div id="info" class="alert alert-success"> <div id="info" class="alert alert-success">

View File

@@ -1,9 +1,9 @@
goog.require('ol.FeatureOverlay');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.RendererHint'); goog.require('ol.RendererHint');
goog.require('ol.View2D'); goog.require('ol.View2D');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector'); goog.require('ol.layer.Vector');
goog.require('ol.render.FeaturesOverlay');
goog.require('ol.source.GeoJSON'); goog.require('ol.source.GeoJSON');
goog.require('ol.source.MapQuest'); goog.require('ol.source.MapQuest');
goog.require('ol.style.Fill'); goog.require('ol.style.Fill');
@@ -63,7 +63,7 @@ var map = new ol.Map({
var highlightStyleCache = {}; var highlightStyleCache = {};
var featuresOverlay = new ol.render.FeaturesOverlay({ var featureOverlay = new ol.FeatureOverlay({
map: map, map: map,
styleFunction: function(feature, resolution) { styleFunction: function(feature, resolution) {
var text = resolution < 5000 ? feature.get('name') : ''; var text = resolution < 5000 ? feature.get('name') : '';
@@ -109,10 +109,10 @@ var displayFeatureInfo = function(pixel) {
if (feature !== highlight) { if (feature !== highlight) {
if (highlight) { if (highlight) {
featuresOverlay.removeFeature(highlight); featureOverlay.removeFeature(highlight);
} }
if (feature) { if (feature) {
featuresOverlay.addFeature(feature); featureOverlay.addFeature(feature);
} }
highlight = feature; highlight = feature;
} }

View File

@@ -425,7 +425,7 @@
* features should be selected. * features should be selected.
* @property {Array.<ol.layer.Layer>|undefined} layers Layers. Zero or more * @property {Array.<ol.layer.Layer>|undefined} layers Layers. Zero or more
* layers from which features should be selected. * layers from which features should be selected.
* @property {ol.render.FeaturesOverlay} featuresOverlay Features overlay. * @property {ol.FeatureOverlay} featureOverlay Feature overlay.
*/ */
/** /**
@@ -555,7 +555,7 @@
*/ */
/** /**
* @typedef {Object} olx.render.FeaturesOverlayOptions * @typedef {Object} olx.FeatureOverlayOptions
* @property {Array.<ol.Feature>|ol.Collection|undefined} features Features. * @property {Array.<ol.Feature>|ol.Collection|undefined} features Features.
* @property {ol.Map|undefined} map Map. * @property {ol.Map|undefined} map Map.
* @property {ol.feature.StyleFunction|undefined} styleFunction Style function. * @property {ol.feature.StyleFunction|undefined} styleFunction Style function.

View File

@@ -0,0 +1,7 @@
@exportSymbol ol.FeatureOverlay
@exportProperty ol.FeatureOverlay.prototype.addFeature
@exportProperty ol.FeatureOverlay.prototype.getFeatures
@exportProperty ol.FeatureOverlay.prototype.setFeatures
@exportProperty ol.FeatureOverlay.prototype.setMap
@exportProperty ol.FeatureOverlay.prototype.setStyleFunction
@exportProperty ol.FeatureOverlay.prototype.removeFeature

View File

@@ -1,4 +1,4 @@
goog.provide('ol.render.FeaturesOverlay'); goog.provide('ol.FeatureOverlay');
goog.require('goog.array'); goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
@@ -15,10 +15,10 @@ goog.require('ol.render.EventType');
/** /**
* @constructor * @constructor
* @param {olx.render.FeaturesOverlayOptions=} opt_options Options. * @param {olx.FeatureOverlayOptions=} opt_options Options.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay = function(opt_options) { ol.FeatureOverlay = function(opt_options) {
var options = goog.isDef(opt_options) ? opt_options : {}; var options = goog.isDef(opt_options) ? opt_options : {};
@@ -84,7 +84,7 @@ ol.render.FeaturesOverlay = function(opt_options) {
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay.prototype.addFeature = function(feature) { ol.FeatureOverlay.prototype.addFeature = function(feature) {
this.features_.push(feature); this.features_.push(feature);
}; };
@@ -93,7 +93,7 @@ ol.render.FeaturesOverlay.prototype.addFeature = function(feature) {
* @return {ol.Collection} Features collection. * @return {ol.Collection} Features collection.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay.prototype.getFeatures = function() { ol.FeatureOverlay.prototype.getFeatures = function() {
return this.features_; return this.features_;
}; };
@@ -101,7 +101,7 @@ ol.render.FeaturesOverlay.prototype.getFeatures = function() {
/** /**
* @private * @private
*/ */
ol.render.FeaturesOverlay.prototype.handleFeatureChange_ = function() { ol.FeatureOverlay.prototype.handleFeatureChange_ = function() {
this.requestRenderFrame_(); this.requestRenderFrame_();
}; };
@@ -110,7 +110,7 @@ ol.render.FeaturesOverlay.prototype.handleFeatureChange_ = function() {
* @private * @private
* @param {ol.CollectionEvent} collectionEvent Collection event. * @param {ol.CollectionEvent} collectionEvent Collection event.
*/ */
ol.render.FeaturesOverlay.prototype.handleFeaturesAdd_ = ol.FeatureOverlay.prototype.handleFeaturesAdd_ =
function(collectionEvent) { function(collectionEvent) {
goog.asserts.assert(!goog.isNull(this.featureChangeListenerKeys_)); goog.asserts.assert(!goog.isNull(this.featureChangeListenerKeys_));
var feature = /** @type {ol.Feature} */ (collectionEvent.element); var feature = /** @type {ol.Feature} */ (collectionEvent.element);
@@ -125,7 +125,7 @@ ol.render.FeaturesOverlay.prototype.handleFeaturesAdd_ =
* @private * @private
* @param {ol.CollectionEvent} collectionEvent Collection event. * @param {ol.CollectionEvent} collectionEvent Collection event.
*/ */
ol.render.FeaturesOverlay.prototype.handleFeaturesRemove_ = ol.FeatureOverlay.prototype.handleFeaturesRemove_ =
function(collectionEvent) { function(collectionEvent) {
goog.asserts.assert(!goog.isNull(this.featureChangeListenerKeys_)); goog.asserts.assert(!goog.isNull(this.featureChangeListenerKeys_));
var feature = /** @type {ol.Feature} */ (collectionEvent.element); var feature = /** @type {ol.Feature} */ (collectionEvent.element);
@@ -140,7 +140,7 @@ ol.render.FeaturesOverlay.prototype.handleFeaturesRemove_ =
* @param {ol.render.Event} event Event. * @param {ol.render.Event} event Event.
* @private * @private
*/ */
ol.render.FeaturesOverlay.prototype.handleMapPostCompose_ = function(event) { ol.FeatureOverlay.prototype.handleMapPostCompose_ = function(event) {
if (goog.isNull(this.features_) || !goog.isDef(this.styleFunction_)) { if (goog.isNull(this.features_) || !goog.isDef(this.styleFunction_)) {
return; return;
} }
@@ -161,7 +161,7 @@ ol.render.FeaturesOverlay.prototype.handleMapPostCompose_ = function(event) {
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay.prototype.removeFeature = function(feature) { ol.FeatureOverlay.prototype.removeFeature = function(feature) {
this.features_.remove(feature); this.features_.remove(feature);
}; };
@@ -169,7 +169,7 @@ ol.render.FeaturesOverlay.prototype.removeFeature = function(feature) {
/** /**
* @private * @private
*/ */
ol.render.FeaturesOverlay.prototype.requestRenderFrame_ = function() { ol.FeatureOverlay.prototype.requestRenderFrame_ = function() {
if (!goog.isNull(this.map_)) { if (!goog.isNull(this.map_)) {
this.map_.requestRenderFrame(); this.map_.requestRenderFrame();
} }
@@ -180,7 +180,7 @@ ol.render.FeaturesOverlay.prototype.requestRenderFrame_ = function() {
* @param {ol.Collection} features Features collection. * @param {ol.Collection} features Features collection.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay.prototype.setFeatures = function(features) { ol.FeatureOverlay.prototype.setFeatures = function(features) {
if (!goog.isNull(this.featuresListenerKeys_)) { if (!goog.isNull(this.featuresListenerKeys_)) {
goog.array.forEach(this.featuresListenerKeys_, goog.events.unlistenByKey); goog.array.forEach(this.featuresListenerKeys_, goog.events.unlistenByKey);
this.featuresListenerKeys_ = null; this.featuresListenerKeys_ = null;
@@ -218,7 +218,7 @@ ol.render.FeaturesOverlay.prototype.setFeatures = function(features) {
* @param {ol.Map} map Map. * @param {ol.Map} map Map.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay.prototype.setMap = function(map) { ol.FeatureOverlay.prototype.setMap = function(map) {
if (!goog.isNull(this.postComposeListenerKey_)) { if (!goog.isNull(this.postComposeListenerKey_)) {
goog.events.unlistenByKey(this.postComposeListenerKey_); goog.events.unlistenByKey(this.postComposeListenerKey_);
this.postComposeListenerKey_ = null; this.postComposeListenerKey_ = null;
@@ -238,7 +238,7 @@ ol.render.FeaturesOverlay.prototype.setMap = function(map) {
* @param {ol.feature.StyleFunction} styleFunction Style function. * @param {ol.feature.StyleFunction} styleFunction Style function.
* @todo stability experimental * @todo stability experimental
*/ */
ol.render.FeaturesOverlay.prototype.setStyleFunction = function(styleFunction) { ol.FeatureOverlay.prototype.setStyleFunction = function(styleFunction) {
this.styleFunction_ = styleFunction; this.styleFunction_ = styleFunction;
this.requestRenderFrame_(); this.requestRenderFrame_();
}; };

View File

@@ -6,6 +6,7 @@ goog.require('goog.events.Event');
goog.require('ol.Collection'); goog.require('ol.Collection');
goog.require('ol.Coordinate'); goog.require('ol.Coordinate');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.FeatureOverlay');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.MapBrowserEvent'); goog.require('ol.MapBrowserEvent');
goog.require('ol.MapBrowserEvent.EventType'); goog.require('ol.MapBrowserEvent.EventType');
@@ -17,7 +18,6 @@ goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');
goog.require('ol.interaction.Interaction'); goog.require('ol.interaction.Interaction');
goog.require('ol.render.FeaturesOverlay');
goog.require('ol.source.Vector'); goog.require('ol.source.Vector');
goog.require('ol.style.Circle'); goog.require('ol.style.Circle');
goog.require('ol.style.Fill'); goog.require('ol.style.Fill');
@@ -143,10 +143,10 @@ ol.interaction.Draw = function(opt_options) {
/** /**
* Draw overlay where are sketch features are drawn. * Draw overlay where are sketch features are drawn.
* @type {ol.render.FeaturesOverlay} * @type {ol.FeatureOverlay}
* @private * @private
*/ */
this.overlay_ = new ol.render.FeaturesOverlay(); this.overlay_ = new ol.FeatureOverlay();
this.overlay_.setStyleFunction(goog.isDef(opt_options.styleFunction) ? this.overlay_.setStyleFunction(goog.isDef(opt_options.styleFunction) ?
opt_options.styleFunction : ol.interaction.Draw.defaultStyleFunction opt_options.styleFunction : ol.interaction.Draw.defaultStyleFunction
); );

View File

@@ -1,3 +1,3 @@
@exportSymbol ol.interaction.Select @exportSymbol ol.interaction.Select
@exportProperty ol.interaction.Select.prototype.getFeaturesOverlay @exportProperty ol.interaction.Select.prototype.getFeatureOverlay
@exportProperty ol.interaction.Select.prototype.setMap @exportProperty ol.interaction.Select.prototype.setMap

View File

@@ -2,9 +2,9 @@ goog.provide('ol.interaction.Select');
goog.require('goog.array'); goog.require('goog.array');
goog.require('goog.functions'); goog.require('goog.functions');
goog.require('ol.FeatureOverlay');
goog.require('ol.events.condition'); goog.require('ol.events.condition');
goog.require('ol.interaction.Interaction'); goog.require('ol.interaction.Interaction');
goog.require('ol.render.FeaturesOverlay');
@@ -67,20 +67,20 @@ ol.interaction.Select = function(options) {
/** /**
* @private * @private
* @type {ol.render.FeaturesOverlay} * @type {ol.FeatureOverlay}
*/ */
this.featuresOverlay_ = options.featuresOverlay; this.featureOverlay_ = options.featureOverlay;
}; };
goog.inherits(ol.interaction.Select, ol.interaction.Interaction); goog.inherits(ol.interaction.Select, ol.interaction.Interaction);
/** /**
* @return {ol.render.FeaturesOverlay} Features overlay. * @return {ol.FeatureOverlay} Feature overlay.
* @todo stability experimental * @todo stability experimental
*/ */
ol.interaction.Select.prototype.getFeaturesOverlay = function() { ol.interaction.Select.prototype.getFeatureOverlay = function() {
return this.featuresOverlay_; return this.featureOverlay_;
}; };
@@ -94,7 +94,7 @@ ol.interaction.Select.prototype.handleMapBrowserEvent =
} }
var add = this.addCondition_(mapBrowserEvent); var add = this.addCondition_(mapBrowserEvent);
var map = mapBrowserEvent.map; var map = mapBrowserEvent.map;
var features = this.featuresOverlay_.getFeatures(); var features = this.featureOverlay_.getFeatures();
map.withFrozenRendering( map.withFrozenRendering(
/** /**
* @this {ol.interaction.Select} * @this {ol.interaction.Select}
@@ -148,5 +148,5 @@ ol.interaction.Select.prototype.handleMapBrowserEvent =
*/ */
ol.interaction.Select.prototype.setMap = function(map) { ol.interaction.Select.prototype.setMap = function(map) {
goog.base(this, 'setMap', map); goog.base(this, 'setMap', map);
this.featuresOverlay_.setMap(map); this.featureOverlay_.setMap(map);
}; };

View File

@@ -1,7 +0,0 @@
@exportSymbol ol.render.FeaturesOverlay
@exportProperty ol.render.FeaturesOverlay.prototype.addFeature
@exportProperty ol.render.FeaturesOverlay.prototype.getFeatures
@exportProperty ol.render.FeaturesOverlay.prototype.setFeatures
@exportProperty ol.render.FeaturesOverlay.prototype.setMap
@exportProperty ol.render.FeaturesOverlay.prototype.setStyleFunction
@exportProperty ol.render.FeaturesOverlay.prototype.removeFeature