@@ -18,7 +18,7 @@
|
||||
<th>WebGL</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div id="domMap" class="map">Coming soon...</div></td>
|
||||
<td><div id="domMap" class="map"></div></td>
|
||||
<td><div id="webglMap" class="map"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -6,14 +6,6 @@ goog.require('ol.layer.BingMaps');
|
||||
goog.require('ol.layer.TileJSON');
|
||||
|
||||
|
||||
/**
|
||||
* FIXME The DOM renderer doesn't support partially-loaded layers yet
|
||||
* FIXME Remove this define when it does
|
||||
* @define {boolean} Enable DOM map.
|
||||
*/
|
||||
ol.TWO_LAYERS_DEMO_ENABLE_DOM = false;
|
||||
|
||||
|
||||
var layer1 = new ol.layer.BingMaps(
|
||||
ol.BingMapsStyle.AERIAL,
|
||||
'AheP841R-MsLErKQChaTba_xDoOCl40-EeTubD9uNhNAyQTePwFY9iVD1_pyqqlE');
|
||||
@@ -32,19 +24,14 @@ goog.events.listen(layer2, goog.events.EventType.LOAD, function() {
|
||||
webglMap.setResolution(layer2.getStore().getResolutions()[5]);
|
||||
});
|
||||
|
||||
var domMap;
|
||||
if (ol.TWO_LAYERS_DEMO_ENABLE_DOM) {
|
||||
domMap = ol.createMap(
|
||||
document.getElementById('domMap'),
|
||||
{},
|
||||
ol.RendererHint.DOM);
|
||||
domMap.bindTo('center', webglMap);
|
||||
domMap.bindTo('layers', webglMap);
|
||||
domMap.bindTo('resolution', webglMap);
|
||||
domMap.bindTo('rotation', webglMap);
|
||||
} else {
|
||||
domMap = null;
|
||||
}
|
||||
var domMap = ol.createMap(
|
||||
document.getElementById('domMap'),
|
||||
{},
|
||||
ol.RendererHint.DOM);
|
||||
domMap.bindTo('center', webglMap);
|
||||
domMap.bindTo('layers', webglMap);
|
||||
domMap.bindTo('resolution', webglMap);
|
||||
domMap.bindTo('rotation', webglMap);
|
||||
|
||||
var attributionControl = new ol.control.Attribution(webglMap);
|
||||
document.getElementById('attribution').appendChild(
|
||||
|
||||
@@ -45,6 +45,14 @@ ol.dom.LayerRenderer.prototype.getMapRenderer = function() {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.dom.LayerRenderer.prototype.handleLayerLoad = function() {
|
||||
this.getMap().render();
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
|
||||
@@ -84,6 +84,10 @@ ol.dom.MapRenderer.prototype.createLayerRenderer = function(layer) {
|
||||
*/
|
||||
ol.dom.MapRenderer.prototype.handleCenterChanged = function() {
|
||||
goog.base(this, 'handleCenterChanged');
|
||||
var map = this.getMap();
|
||||
if (!map.isDef()) {
|
||||
return;
|
||||
}
|
||||
// FIXME: shiftLayersPane_ and resetLayersPane_ should be called
|
||||
// elsewhere as we may be frozen here
|
||||
if (goog.isDef(this.renderedCenter_)) {
|
||||
@@ -91,7 +95,7 @@ ol.dom.MapRenderer.prototype.handleCenterChanged = function() {
|
||||
} else {
|
||||
this.resetLayersPane_();
|
||||
}
|
||||
this.render();
|
||||
map.render();
|
||||
};
|
||||
|
||||
|
||||
@@ -100,10 +104,14 @@ ol.dom.MapRenderer.prototype.handleCenterChanged = function() {
|
||||
*/
|
||||
ol.dom.MapRenderer.prototype.handleResolutionChanged = function() {
|
||||
goog.base(this, 'handleResolutionChanged');
|
||||
var map = this.getMap();
|
||||
if (!map.isDef()) {
|
||||
return;
|
||||
}
|
||||
// FIXME: resetLayersPane_ should be called
|
||||
// elsewhere as we may be frozen here
|
||||
this.resetLayersPane_();
|
||||
this.render();
|
||||
map.render();
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
// FIXME ol.dom.TileLayerRenderer should cope with "not ready" layers
|
||||
// FIXME ol.dom.TileLayerRenderer should re-render when layer loads
|
||||
|
||||
goog.provide('ol.dom.TileLayerRenderer');
|
||||
|
||||
goog.require('goog.dom');
|
||||
|
||||
Reference in New Issue
Block a user