Replace ol.createMap with friendlier ol.Map constructor

This commit is contained in:
Tom Payne
2012-09-26 10:58:13 +02:00
parent 3bd204fb6a
commit b73b2d12c4
6 changed files with 272 additions and 214 deletions
+9 -6
View File
@@ -1,8 +1,10 @@
goog.require('goog.debug.Console');
goog.require('goog.debug.Logger');
goog.require('goog.debug.Logger.Level');
goog.require('ol.Collection');
goog.require('ol.Coordinate');
goog.require('ol.Map');
goog.require('ol.RendererHint');
goog.require('ol.createMap');
goog.require('ol.layer.MapQuestOpenAerial');
@@ -11,9 +13,10 @@ if (goog.DEBUG) {
goog.debug.Logger.getLogger('ol').setLevel(goog.debug.Logger.Level.INFO);
}
var rendererHint = [ol.RendererHint.WEBGL, ol.RendererHint.DOM];
var map = ol.createMap(document.getElementById('map'), {}, rendererHint);
var layer = new ol.layer.MapQuestOpenAerial();
map.getLayers().push(layer);
map.setCenter(new ol.Coordinate(0, 0));
map.setResolution(layer.getStore().getResolutions()[0]);
var map = new ol.Map(document.getElementById('map'), {
center: new ol.Coordinate(0, 0),
layers: new ol.Collection([layer]),
resolution: layer.getStore().getResolutions()[0]
});
+10 -20
View File
@@ -2,10 +2,10 @@ goog.require('goog.debug.Console');
goog.require('goog.debug.Logger');
goog.require('goog.debug.Logger.Level');
goog.require('ol.CoordinateFormat');
goog.require('ol.Map');
goog.require('ol.RendererHint');
goog.require('ol.control.Attribution');
goog.require('ol.control.MousePosition');
goog.require('ol.createMap');
goog.require('ol.interaction.Keyboard');
goog.require('ol.layer.MapQuestOpenAerial');
@@ -16,23 +16,18 @@ if (goog.DEBUG) {
}
var layer = new ol.layer.MapQuestOpenAerial();
var layers = new ol.Collection();
layers.push(layer);
var domMap = new ol.Map(document.getElementById('domMap'), {
center: new ol.Coordinate(0, 0),
layers: new ol.Collection([layer]),
renderer: ol.RendererHint.DOM,
zoom: 0
});
var domMap = ol.createMap(
document.getElementById('domMap'),
{'layers': layers},
ol.RendererHint.DOM);
domMap.setCenter(new ol.Coordinate(0, 0));
domMap.setResolution(layer.getStore().getResolutions()[0]);
var webglMap = ol.createMap(
document.getElementById('webglMap'),
{},
ol.RendererHint.WEBGL);
var webglMap = new ol.Map(document.getElementById('webglMap'), {
renderer: ol.RendererHint.WEBGL
});
if (!goog.isNull(webglMap)) {
webglMap.bindTo('center', domMap);
webglMap.bindTo('layers', domMap);
@@ -102,8 +97,3 @@ keyboardInteraction.addCallback('vV', function() {
layer.setVisible(!layer.getVisible());
});
domMap.getInteractions().push(keyboardInteraction);
goog.exportSymbol('layer', layer);
goog.exportSymbol('layers', layers);
goog.exportSymbol('domMap', domMap);
goog.exportSymbol('webglMap', webglMap);
+20 -26
View File
@@ -1,33 +1,33 @@
goog.require('ol.Collection');
goog.require('ol.Coordinate');
goog.require('ol.Map');
goog.require('ol.Projection');
goog.require('ol.RendererHint');
goog.require('ol.control.Attribution');
goog.require('ol.createMap');
goog.require('ol.layer.BingMaps');
goog.require('ol.layer.TileJSON');
var layer1 = new ol.layer.BingMaps(
ol.BingMapsStyle.AERIAL,
'AheP841R-MsLErKQChaTba_xDoOCl40-EeTubD9uNhNAyQTePwFY9iVD1_pyqqlE');
var layer2 = new ol.layer.TileJSON(
'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.jsonp');
var layers = new ol.Collection([
new ol.layer.BingMaps(
ol.BingMapsStyle.AERIAL,
'AheP841R-MsLErKQChaTba_xDoOCl40-EeTubD9uNhNAyQTePwFY9iVD1_pyqqlE'),
new ol.layer.TileJSON(
'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.jsonp')
]);
var layers = new ol.Collection([layer1, layer2]);
var webglMap = ol.createMap(
document.getElementById('webglMap'),
{'layers': new ol.Collection([layer1, layer2])},
ol.RendererHint.WEBGL);
goog.events.listen(layer2, goog.events.EventType.LOAD, function() {
webglMap.setUserCenter(new ol.Coordinate(-77.93254999999999, 37.9555));
webglMap.setResolution(layer2.getStore().getResolutions()[5]);
var webglMap = new ol.Map(document.getElementById('webglMap'), {
center: ol.Projection.transformWithCodes(
new ol.Coordinate(-77.93254999999999, 37.9555),
'EPSG:4326', 'EPSG:3857'),
layers: layers,
renderer: ol.RendererHint.WEBGL,
zoom: 5
});
var domMap = ol.createMap(
document.getElementById('domMap'),
{},
ol.RendererHint.DOM);
var domMap = new ol.Map(document.getElementById('domMap'), {
renderer: ol.RendererHint.DOM
});
domMap.bindTo('center', webglMap);
domMap.bindTo('layers', webglMap);
domMap.bindTo('resolution', webglMap);
@@ -36,9 +36,3 @@ domMap.bindTo('rotation', webglMap);
var attributionControl = new ol.control.Attribution(webglMap);
document.getElementById('attribution').appendChild(
attributionControl.getElement());
goog.exportSymbol('layer1', layer1);
goog.exportSymbol('layer2', layer2);
goog.exportSymbol('layers', layers);
goog.exportSymbol('domMap', domMap);
goog.exportSymbol('webglMap', webglMap);