[GIS] Change the size of an OpenLayers.Control.OverviewMap

javascriptopenlayers-2

I create my OpenLayers.Control.OverviewMap with a given size but I would like to change it when certain conditions are met. I have tried two approaches with no luck…

My first try was just changing its width and height via CSS attributes:

$("div.olControlOverviewMapElement>div.olMap").css('width',320);

It does change its visual size but then the overview map doesn't work properly, the "new gained" space in the overviewmap is not usable (can't be used to drag the view rectangle)

My second try was simply changing its size property:

ovMap.size = new OpenLayers.Size(320,240);

but it doesn't have any effect to the overview map.

Is it possible to change its size once it's been created?

Extra information: Using OpenLayers-2.10, and in both cases I have tried calling the update() method of the control.

Best Answer

This seems to work:

var ovMapControl = map.getControlsBy("CLASS_NAME", "OpenLayers.Control.OverviewMap")[0];
map.removeControl(ovMapControl);

var newOVControl = new OpenLayers.Control.OverviewMap({ 'autoActivate': true });

newOVControl.size = new OpenLayers.Size(320, 240);
map.addControl(newOVControl);