Merge pull request #274 from twpayne/map-layers-api
ol.Collection versus array
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
goog.require('ol.AnchoredElement');
|
goog.require('ol.AnchoredElement');
|
||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.RendererHints');
|
goog.require('ol.RendererHints');
|
||||||
@@ -14,7 +13,7 @@ var layer = new ol.layer.TileLayer({
|
|||||||
});
|
});
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
layers: new ol.Collection([layer]),
|
layers: [layer],
|
||||||
renderers: ol.RendererHints.createFromQueryData(),
|
renderers: ol.RendererHints.createFromQueryData(),
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: new ol.View2D({
|
view: new ol.View2D({
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.RendererHint');
|
goog.require('ol.RendererHint');
|
||||||
@@ -10,7 +9,7 @@ goog.require('ol.source.OpenStreetMap');
|
|||||||
goog.require('ol.tilegrid.XYZ');
|
goog.require('ol.tilegrid.XYZ');
|
||||||
|
|
||||||
|
|
||||||
var layers = new ol.Collection([
|
var layers = [
|
||||||
new ol.layer.TileLayer({
|
new ol.layer.TileLayer({
|
||||||
source: new ol.source.OpenStreetMap()
|
source: new ol.source.OpenStreetMap()
|
||||||
}),
|
}),
|
||||||
@@ -22,7 +21,7 @@ var layers = new ol.Collection([
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
|
|
||||||
var webglMap = new ol.Map({
|
var webglMap = new ol.Map({
|
||||||
view: new ol.View2D({
|
view: new ol.View2D({
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.RendererHint');
|
goog.require('ol.RendererHint');
|
||||||
@@ -10,7 +9,7 @@ goog.require('ol.projection');
|
|||||||
goog.require('ol.source.TiledWMS');
|
goog.require('ol.source.TiledWMS');
|
||||||
|
|
||||||
|
|
||||||
var layers = new ol.Collection([
|
var layers = [
|
||||||
new ol.layer.TileLayer({
|
new ol.layer.TileLayer({
|
||||||
source: new ol.source.TiledWMS({
|
source: new ol.source.TiledWMS({
|
||||||
url: 'http://vmap0.tiles.osgeo.org/wms/vmap0',
|
url: 'http://vmap0.tiles.osgeo.org/wms/vmap0',
|
||||||
@@ -22,7 +21,7 @@ var layers = new ol.Collection([
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
controls: ol.control.defaults({
|
controls: ol.control.defaults({
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.RendererHints');
|
goog.require('ol.RendererHints');
|
||||||
@@ -15,7 +14,7 @@ var map = new ol.Map({
|
|||||||
controls: ol.control.defaults({
|
controls: ol.control.defaults({
|
||||||
scaleLine: true
|
scaleLine: true
|
||||||
}),
|
}),
|
||||||
layers: new ol.Collection([layer]),
|
layers: [layer],
|
||||||
renderers: ol.RendererHints.createFromQueryData(),
|
renderers: ol.RendererHints.createFromQueryData(),
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: new ol.View2D({
|
view: new ol.View2D({
|
||||||
|
|||||||
+2
-3
@@ -1,4 +1,3 @@
|
|||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.RendererHints');
|
goog.require('ol.RendererHints');
|
||||||
@@ -7,7 +6,7 @@ goog.require('ol.layer.TileLayer');
|
|||||||
goog.require('ol.source.Stamen');
|
goog.require('ol.source.Stamen');
|
||||||
|
|
||||||
|
|
||||||
var layers = new ol.Collection([
|
var layers = [
|
||||||
new ol.layer.TileLayer({
|
new ol.layer.TileLayer({
|
||||||
source: new ol.source.Stamen({
|
source: new ol.source.Stamen({
|
||||||
layer: 'watercolor'
|
layer: 'watercolor'
|
||||||
@@ -18,7 +17,7 @@ var layers = new ol.Collection([
|
|||||||
layer: 'terrain-labels'
|
layer: 'terrain-labels'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
layers: layers,
|
layers: layers,
|
||||||
renderers: ol.RendererHints.createFromQueryData(),
|
renderers: ol.RendererHints.createFromQueryData(),
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.RendererHint');
|
goog.require('ol.RendererHint');
|
||||||
@@ -9,7 +8,7 @@ goog.require('ol.source.BingMaps');
|
|||||||
goog.require('ol.source.TileJSON');
|
goog.require('ol.source.TileJSON');
|
||||||
|
|
||||||
|
|
||||||
var layers = new ol.Collection([
|
var layers = [
|
||||||
new ol.layer.TileLayer({
|
new ol.layer.TileLayer({
|
||||||
source: new ol.source.BingMaps({
|
source: new ol.source.BingMaps({
|
||||||
key: 'AgtFlPYDnymLEe9zJ5PCkghbNiFZE9aAtTy3mPaEnEBXqLHtFuTcKoZ-miMC3w7R',
|
key: 'AgtFlPYDnymLEe9zJ5PCkghbNiFZE9aAtTy3mPaEnEBXqLHtFuTcKoZ-miMC3w7R',
|
||||||
@@ -21,7 +20,7 @@ var layers = new ol.Collection([
|
|||||||
uri: 'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.jsonp'
|
uri: 'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.jsonp'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
|
|
||||||
var webglMap = new ol.Map({
|
var webglMap = new ol.Map({
|
||||||
layers: layers,
|
layers: layers,
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
goog.require('ol.Attribution');
|
goog.require('ol.Attribution');
|
||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Extent');
|
goog.require('ol.Extent');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
@@ -20,7 +19,7 @@ var epsg21781 = new ol.Projection('EPSG:21781', ol.ProjectionUnits.METERS,
|
|||||||
ol.projection.addProjection(epsg21781);
|
ol.projection.addProjection(epsg21781);
|
||||||
|
|
||||||
var extent = new ol.Extent(420000, 30000, 900000, 350000);
|
var extent = new ol.Extent(420000, 30000, 900000, 350000);
|
||||||
var layers = new ol.Collection([
|
var layers = [
|
||||||
new ol.layer.TileLayer({
|
new ol.layer.TileLayer({
|
||||||
source: new ol.source.TiledWMS({
|
source: new ol.source.TiledWMS({
|
||||||
url: 'http://wms.geo.admin.ch/',
|
url: 'http://wms.geo.admin.ch/',
|
||||||
@@ -45,7 +44,7 @@ var layers = new ol.Collection([
|
|||||||
params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'}
|
params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
layers: layers,
|
layers: layers,
|
||||||
|
|||||||
+2
-3
@@ -1,4 +1,3 @@
|
|||||||
goog.require('ol.Collection');
|
|
||||||
goog.require('ol.Coordinate');
|
goog.require('ol.Coordinate');
|
||||||
goog.require('ol.Extent');
|
goog.require('ol.Extent');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
@@ -9,7 +8,7 @@ goog.require('ol.source.MapQuestOpenAerial');
|
|||||||
goog.require('ol.source.TiledWMS');
|
goog.require('ol.source.TiledWMS');
|
||||||
|
|
||||||
|
|
||||||
var layers = new ol.Collection([
|
var layers = [
|
||||||
new ol.layer.TileLayer({
|
new ol.layer.TileLayer({
|
||||||
source: new ol.source.MapQuestOpenAerial()
|
source: new ol.source.MapQuestOpenAerial()
|
||||||
}),
|
}),
|
||||||
@@ -21,7 +20,7 @@ var layers = new ol.Collection([
|
|||||||
extent: new ol.Extent(-13884991, 2870341, -7455066, 6338219)
|
extent: new ol.Extent(-13884991, 2870341, -7455066, 6338219)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
renderer: ol.RendererHint.CANVAS,
|
renderer: ol.RendererHint.CANVAS,
|
||||||
layers: layers,
|
layers: layers,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
@exportObjectLiteral ol.MapOptions
|
@exportObjectLiteral ol.MapOptions
|
||||||
@exportObjectLiteralProperty ol.MapOptions.controls Array.<ol.control.Control>|undefined
|
@exportObjectLiteralProperty ol.MapOptions.controls Array.<ol.control.Control>|undefined
|
||||||
@exportObjectLiteralProperty ol.MapOptions.interactions ol.Collection|undefined
|
@exportObjectLiteralProperty ol.MapOptions.interactions ol.Collection|undefined
|
||||||
@exportObjectLiteralProperty ol.MapOptions.layers ol.Collection|undefined
|
@exportObjectLiteralProperty ol.MapOptions.layers Array.<ol.layer.Layer>|ol.Collection|undefined
|
||||||
@exportObjectLiteralProperty ol.MapOptions.renderer ol.RendererHint|undefined
|
@exportObjectLiteralProperty ol.MapOptions.renderer ol.RendererHint|undefined
|
||||||
@exportObjectLiteralProperty ol.MapOptions.renderers Array.<ol.RendererHint>|undefined
|
@exportObjectLiteralProperty ol.MapOptions.renderers Array.<ol.RendererHint>|undefined
|
||||||
@exportObjectLiteralProperty ol.MapOptions.target Element|string
|
@exportObjectLiteralProperty ol.MapOptions.target Element|string
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
@exportClass ol.Map ol.MapOptions
|
@exportClass ol.Map ol.MapOptions
|
||||||
|
@exportProperty ol.Map.prototype.addLayer
|
||||||
@exportProperty ol.Map.prototype.addPreRenderFunction
|
@exportProperty ol.Map.prototype.addPreRenderFunction
|
||||||
@exportProperty ol.Map.prototype.addPreRenderFunctions
|
@exportProperty ol.Map.prototype.addPreRenderFunctions
|
||||||
@exportProperty ol.Map.prototype.getInteractions
|
@exportProperty ol.Map.prototype.getInteractions
|
||||||
@exportProperty ol.Map.prototype.getRenderer
|
@exportProperty ol.Map.prototype.getRenderer
|
||||||
|
@exportProperty ol.Map.prototype.removeLayer
|
||||||
|
|
||||||
@exportSymbol ol.RendererHint
|
@exportSymbol ol.RendererHint
|
||||||
@exportProperty ol.RendererHint.CANVAS
|
@exportProperty ol.RendererHint.CANVAS
|
||||||
|
|||||||
+34
-2
@@ -292,6 +292,16 @@ ol.Map = function(mapOptions) {
|
|||||||
goog.inherits(ol.Map, ol.Object);
|
goog.inherits(ol.Map, ol.Object);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ol.layer.Layer} layer Layer.
|
||||||
|
*/
|
||||||
|
ol.Map.prototype.addLayer = function(layer) {
|
||||||
|
var layers = this.getLayers();
|
||||||
|
goog.asserts.assert(goog.isDef(layers));
|
||||||
|
layers.push(layer);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {ol.PreRenderFunction} preRenderFunction Pre-render function.
|
* @param {ol.PreRenderFunction} preRenderFunction Pre-render function.
|
||||||
*/
|
*/
|
||||||
@@ -619,6 +629,18 @@ ol.Map.prototype.requestRenderFrame = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ol.layer.Layer} layer Layer.
|
||||||
|
* @return {ol.layer.Layer|undefined} The removed layer or undefined if the
|
||||||
|
* layer was not found.
|
||||||
|
*/
|
||||||
|
ol.Map.prototype.removeLayer = function(layer) {
|
||||||
|
var layers = this.getLayers();
|
||||||
|
goog.asserts.assert(goog.isDef(layers));
|
||||||
|
return /** @type {ol.layer.Layer|undefined} */ (layers.remove(layer));
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {number} time Time.
|
* @param {number} time Time.
|
||||||
* @private
|
* @private
|
||||||
@@ -823,8 +845,18 @@ ol.Map.createOptionsInternal = function(mapOptions) {
|
|||||||
*/
|
*/
|
||||||
var values = {};
|
var values = {};
|
||||||
|
|
||||||
values[ol.MapProperty.LAYERS] = goog.isDef(mapOptions.layers) ?
|
var layers;
|
||||||
mapOptions.layers : new ol.Collection();
|
if (goog.isDef(mapOptions.layers)) {
|
||||||
|
if (goog.isArray(mapOptions.layers)) {
|
||||||
|
layers = new ol.Collection(goog.array.clone(mapOptions.layers));
|
||||||
|
} else {
|
||||||
|
goog.asserts.assert(mapOptions.layers instanceof ol.Collection);
|
||||||
|
layers = mapOptions.layers;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
layers = new ol.Collection();
|
||||||
|
}
|
||||||
|
values[ol.MapProperty.LAYERS] = layers;
|
||||||
|
|
||||||
values[ol.MapProperty.VIEW] = goog.isDef(mapOptions.view) ?
|
values[ol.MapProperty.VIEW] = goog.isDef(mapOptions.view) ?
|
||||||
mapOptions.view : new ol.View2D();
|
mapOptions.view : new ol.View2D();
|
||||||
|
|||||||
Reference in New Issue
Block a user