Overlay over Google Layer not correctly positioned when zooming, originally
reported by Pfirter Lukas. (Closes #849) This is solving a general problem with overlays + EventPane subclass zoom changes. git-svn-id: http://svn.openlayers.org/trunk/openlayers@4082 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -1086,6 +1086,9 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
|
||||
//send the move call to the baselayer and all the overlays
|
||||
this.baseLayer.moveTo(bounds, zoomChanged, dragging);
|
||||
|
||||
bounds = this.baseLayer.getExtent();
|
||||
|
||||
for (var i = 0; i < this.layers.length; i++) {
|
||||
var layer = this.layers[i];
|
||||
if (!layer.isBaseLayer) {
|
||||
|
||||
@@ -129,9 +129,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
function test_Layer_Google_overlay(t) {
|
||||
// Test for #849.
|
||||
t.plan(1);
|
||||
map = new OpenLayers.Map( 'map' ,
|
||||
{ controls: [] , 'numZoomLevels':20});
|
||||
|
||||
var satellite = new OpenLayers.Layer.Google( "Google Satellite" , {type: G_SATELLITE_MAP, 'maxZoomLevel':18} );
|
||||
layer = new OpenLayers.Layer.WMS.Untiled( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic', 'transparent':true},
|
||||
{isBaseLayer: false} );
|
||||
|
||||
map.addLayers([satellite, layer]);
|
||||
map.setCenter(new OpenLayers.LonLat(10.205188,48.857593), 5);
|
||||
map.zoomIn();
|
||||
var size = map.getSize();
|
||||
var px = new OpenLayers.Pixel(size.w, size.h);
|
||||
var br = map.getLonLatFromPixel(px);
|
||||
t.ok(layer.grid[0][0].bounds.containsLonLat(br), "Bottom right pixel is covered by untiled WMS layer");
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="map"></div>
|
||||
<div id="map" style="width:500px; height: 500px"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user