fix Bing layer's zoom level management. r=tschaub (closes #2987)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10997 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<script src="../../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var layer;
|
||||
var map, layer;
|
||||
|
||||
var layerType = 'Aerial';
|
||||
var key = "AqTGBsziZHIJYYxgivLBf0hVdrAk9mWO5cQcb8Yux8sW5M8c8opEC2lZqKR1ZZXf";
|
||||
@@ -30,6 +30,54 @@
|
||||
});
|
||||
}
|
||||
|
||||
function test_initLayer(t) {
|
||||
t.plan(2);
|
||||
|
||||
var meta = [];
|
||||
var origProcessMetadata = OpenLayers.Layer.Bing.processMetadata;
|
||||
OpenLayers.Layer.Bing.processMetadata = function(metadata) {
|
||||
meta.push(metadata);
|
||||
}
|
||||
map = new OpenLayers.Map("map");
|
||||
layer = new OpenLayers.Layer.Bing(options);
|
||||
var extent;
|
||||
map.addLayers([layer, new OpenLayers.Layer(null, {
|
||||
moveTo: function(bounds, changed) {
|
||||
extent = bounds;
|
||||
}
|
||||
})]);
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
var map2 = new OpenLayers.Map("map");
|
||||
var layer2 = new OpenLayers.Layer.Bing(OpenLayers.Util.extend({
|
||||
initLayer: function() {
|
||||
// pretend we have a zoomMin of 2
|
||||
this.metadata.resourceSets[0].resources[0].zoomMin = 2;
|
||||
OpenLayers.Layer.Bing.prototype.initLayer.apply(this, arguments);
|
||||
}
|
||||
}, options));
|
||||
var extent2;
|
||||
map2.addLayers([layer2, new OpenLayers.Layer(null, {
|
||||
moveTo: function(bounds, changed) {
|
||||
extent2 = bounds;
|
||||
}
|
||||
})]);
|
||||
map2.zoomToMaxExtent();
|
||||
|
||||
t.delay_call(2.0, function() {
|
||||
origProcessMetadata.call(layer, meta[0]);
|
||||
t.eq(extent.toBBOX(), map.getExtent().toBBOX(), "layer extent correct for base layer with zoomMin == 1.");
|
||||
map.destroy();
|
||||
});
|
||||
|
||||
t.delay_call(2.5, function() {
|
||||
origProcessMetadata.call(layer2, meta[1]);
|
||||
t.eq(extent2.toBBOX(), map2.getExtent().toBBOX(), "layer extent correct for base layer with zoomMin == 2.");
|
||||
map2.destroy();
|
||||
OpenLayers.Layer.Bing.processMetadata = origProcessMetadata;
|
||||
});
|
||||
}
|
||||
|
||||
function test_attribution(t) {
|
||||
t.plan(3);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user