Merge pull request #196 from ahocevar/baselayer-visibility
Making sure that a new base layer becomes visible. r=@bartvde.
This commit is contained in:
@@ -1161,6 +1161,11 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
|
|
||||||
if(!this.allOverlays || this.baseLayer.visibility) {
|
if(!this.allOverlays || this.baseLayer.visibility) {
|
||||||
this.baseLayer.setVisibility(true);
|
this.baseLayer.setVisibility(true);
|
||||||
|
// Layer may previously have been visible but not in range.
|
||||||
|
// In this case we need to redraw it to make it visible.
|
||||||
|
if (this.baseLayer.inRange === false) {
|
||||||
|
this.baseLayer.redraw();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// recenter the map
|
// recenter the map
|
||||||
|
|||||||
+16
-3
@@ -763,7 +763,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_Map_setBaseLayer(t) {
|
function test_Map_setBaseLayer(t) {
|
||||||
t.plan( 4 );
|
t.plan( 6 );
|
||||||
|
|
||||||
map = new OpenLayers.Map('map');
|
map = new OpenLayers.Map('map');
|
||||||
|
|
||||||
@@ -791,6 +791,20 @@
|
|||||||
t.ok(map.baseLayer == wmslayer2, "setbaselayer correctly sets 'baseLayer' property");
|
t.ok(map.baseLayer == wmslayer2, "setbaselayer correctly sets 'baseLayer' property");
|
||||||
|
|
||||||
map.destroy();
|
map.destroy();
|
||||||
|
|
||||||
|
var l1 = new OpenLayers.Layer(),
|
||||||
|
l2 = new OpenLayers.Layer(null, {maxResolution: 1.4});
|
||||||
|
map = new OpenLayers.Map({
|
||||||
|
div: 'map',
|
||||||
|
allOverlays: true,
|
||||||
|
layers: [l1, l2],
|
||||||
|
zoom: 0,
|
||||||
|
center: [0, 0]
|
||||||
|
});
|
||||||
|
t.eq(l2.div.style.display, "none", "Layer invisible because not in range");
|
||||||
|
map.raiseLayer(l1, 1);
|
||||||
|
t.eq(l2.div.style.display, "block", "Layer visible after base layer change because in range now");
|
||||||
|
map.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_Map_removeLayer(t) {
|
function test_Map_removeLayer(t) {
|
||||||
@@ -1276,10 +1290,10 @@
|
|||||||
t.eq(res, null, "getResolutionForZoom returns null for no base layer");
|
t.eq(res, null, "getResolutionForZoom returns null for no base layer");
|
||||||
map.fractionalZoom = true;
|
map.fractionalZoom = true;
|
||||||
var layer = new OpenLayers.Layer("test", {isBaseLayer: true});
|
var layer = new OpenLayers.Layer("test", {isBaseLayer: true});
|
||||||
|
map.addLayer(layer);
|
||||||
layer.getResolutionForZoom = function() {
|
layer.getResolutionForZoom = function() {
|
||||||
t.ok(true, "getResolutionForZoom calls base layer getResolutionForZoom");
|
t.ok(true, "getResolutionForZoom calls base layer getResolutionForZoom");
|
||||||
}
|
}
|
||||||
map.addLayer(layer);
|
|
||||||
var res = map.getResolutionForZoom();
|
var res = map.getResolutionForZoom();
|
||||||
layer.destroy();
|
layer.destroy();
|
||||||
map.destroy();
|
map.destroy();
|
||||||
@@ -2006,7 +2020,6 @@
|
|||||||
map.moveTo([16, 48], 0);
|
map.moveTo([16, 48], 0);
|
||||||
t.eq(map.getCenter().toShortString(), "0, 0", "no panning when moveTo is called with invalid zoom");
|
t.eq(map.getCenter().toShortString(), "0, 0", "no panning when moveTo is called with invalid zoom");
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
Reference in New Issue
Block a user