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.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
@@ -14,7 +13,7 @@ var layer = new ol.layer.TileLayer({
|
||||
});
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: new ol.Collection([layer]),
|
||||
layers: [layer],
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHint');
|
||||
@@ -10,7 +9,7 @@ goog.require('ol.source.OpenStreetMap');
|
||||
goog.require('ol.tilegrid.XYZ');
|
||||
|
||||
|
||||
var layers = new ol.Collection([
|
||||
var layers = [
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.OpenStreetMap()
|
||||
}),
|
||||
@@ -22,7 +21,7 @@ var layers = new ol.Collection([
|
||||
})
|
||||
})
|
||||
})
|
||||
]);
|
||||
];
|
||||
|
||||
var webglMap = new ol.Map({
|
||||
view: new ol.View2D({
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHint');
|
||||
@@ -10,7 +9,7 @@ goog.require('ol.projection');
|
||||
goog.require('ol.source.TiledWMS');
|
||||
|
||||
|
||||
var layers = new ol.Collection([
|
||||
var layers = [
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.TiledWMS({
|
||||
url: 'http://vmap0.tiles.osgeo.org/wms/vmap0',
|
||||
@@ -22,7 +21,7 @@ var layers = new ol.Collection([
|
||||
}
|
||||
})
|
||||
})
|
||||
]);
|
||||
];
|
||||
|
||||
var map = new ol.Map({
|
||||
controls: ol.control.defaults({
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
@@ -15,7 +14,7 @@ var map = new ol.Map({
|
||||
controls: ol.control.defaults({
|
||||
scaleLine: true
|
||||
}),
|
||||
layers: new ol.Collection([layer]),
|
||||
layers: [layer],
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
@@ -7,7 +6,7 @@ goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.source.Stamen');
|
||||
|
||||
|
||||
var layers = new ol.Collection([
|
||||
var layers = [
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.Stamen({
|
||||
layer: 'watercolor'
|
||||
@@ -18,7 +17,7 @@ var layers = new ol.Collection([
|
||||
layer: 'terrain-labels'
|
||||
})
|
||||
})
|
||||
]);
|
||||
];
|
||||
var map = new ol.Map({
|
||||
layers: layers,
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHint');
|
||||
@@ -9,7 +8,7 @@ goog.require('ol.source.BingMaps');
|
||||
goog.require('ol.source.TileJSON');
|
||||
|
||||
|
||||
var layers = new ol.Collection([
|
||||
var layers = [
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.BingMaps({
|
||||
key: 'AgtFlPYDnymLEe9zJ5PCkghbNiFZE9aAtTy3mPaEnEBXqLHtFuTcKoZ-miMC3w7R',
|
||||
@@ -21,7 +20,7 @@ var layers = new ol.Collection([
|
||||
uri: 'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.jsonp'
|
||||
})
|
||||
})
|
||||
]);
|
||||
];
|
||||
|
||||
var webglMap = new ol.Map({
|
||||
layers: layers,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
goog.require('ol.Attribution');
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Extent');
|
||||
goog.require('ol.Map');
|
||||
@@ -20,7 +19,7 @@ var epsg21781 = new ol.Projection('EPSG:21781', ol.ProjectionUnits.METERS,
|
||||
ol.projection.addProjection(epsg21781);
|
||||
|
||||
var extent = new ol.Extent(420000, 30000, 900000, 350000);
|
||||
var layers = new ol.Collection([
|
||||
var layers = [
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.TiledWMS({
|
||||
url: 'http://wms.geo.admin.ch/',
|
||||
@@ -45,7 +44,7 @@ var layers = new ol.Collection([
|
||||
params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'}
|
||||
})
|
||||
})
|
||||
]);
|
||||
];
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: layers,
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.Coordinate');
|
||||
goog.require('ol.Extent');
|
||||
goog.require('ol.Map');
|
||||
@@ -9,7 +8,7 @@ goog.require('ol.source.MapQuestOpenAerial');
|
||||
goog.require('ol.source.TiledWMS');
|
||||
|
||||
|
||||
var layers = new ol.Collection([
|
||||
var layers = [
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.MapQuestOpenAerial()
|
||||
}),
|
||||
@@ -21,7 +20,7 @@ var layers = new ol.Collection([
|
||||
extent: new ol.Extent(-13884991, 2870341, -7455066, 6338219)
|
||||
})
|
||||
})
|
||||
]);
|
||||
];
|
||||
var map = new ol.Map({
|
||||
renderer: ol.RendererHint.CANVAS,
|
||||
layers: layers,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@exportObjectLiteral ol.MapOptions
|
||||
@exportObjectLiteralProperty ol.MapOptions.controls Array.<ol.control.Control>|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.renderers Array.<ol.RendererHint>|undefined
|
||||
@exportObjectLiteralProperty ol.MapOptions.target Element|string
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
@exportClass ol.Map ol.MapOptions
|
||||
@exportProperty ol.Map.prototype.addLayer
|
||||
@exportProperty ol.Map.prototype.addPreRenderFunction
|
||||
@exportProperty ol.Map.prototype.addPreRenderFunctions
|
||||
@exportProperty ol.Map.prototype.getInteractions
|
||||
@exportProperty ol.Map.prototype.getRenderer
|
||||
@exportProperty ol.Map.prototype.removeLayer
|
||||
|
||||
@exportSymbol ol.RendererHint
|
||||
@exportProperty ol.RendererHint.CANVAS
|
||||
|
||||
@@ -292,6 +292,16 @@ ol.Map = function(mapOptions) {
|
||||
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.
|
||||
*/
|
||||
@@ -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.
|
||||
* @private
|
||||
@@ -823,8 +845,18 @@ ol.Map.createOptionsInternal = function(mapOptions) {
|
||||
*/
|
||||
var values = {};
|
||||
|
||||
values[ol.MapProperty.LAYERS] = goog.isDef(mapOptions.layers) ?
|
||||
mapOptions.layers : new ol.Collection();
|
||||
var layers;
|
||||
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) ?
|
||||
mapOptions.view : new ol.View2D();
|
||||
|
||||
Reference in New Issue
Block a user