of course I know about this example I think problem is here (loadingPanel): maximizeControl: function(evt) { var viewSize = this.map.getSize(); var msgW = viewSize.w; var msgH = viewSize.h; this.div.style.width = msgW + "px";//WHY? this.div.style.height = msgH + "px";//WHY? this.div.style.display = "block"; this.maximized = true; if (evt != null) { OpenLayers.Event.stop(evt); } } div size is very large (div catching mouse wheel event addressed to layer's divs): it must be equals to size of background img! changing background-position (in css) to right top just moves background img (I use smaller one then in example, more sexy) to right top corner but div size is still big - overlapping map/layer's (tile's) divs
I've change code to minimizeControl: function(evt) { this.div.style.display = "none"; //this.div.style.width = "0px"; //this.div.style.height = "0px"; this.maximized = false; if (evt != null) { OpenLayers.Event.stop(evt); } }, maximizeControl: function(evt) { //var viewSize = this.map.getSize(); //var msgW = viewSize.w; //var msgH = viewSize.h; //this.div.style.width = msgW + "px"; //this.div.style.height = msgH + "px"; this.div.style.display = "block"; this.maximized = true; if (evt != null) { OpenLayers.Event.stop(evt); } }, + css: .olControlLoadingPanel { background-image:url(~/images/default/open-layers/loading.gif); background-position:center; background-repeat:no-repeat; top: 5px; right: 5px; width: 16px; height: 16px; position: absolute; } and zoom wheel works good during tiles loading but I need to make this more correct (div hiding with resetting size) so I need to preserve populated from css div size before hiding (minimizing) and restore on maximize or I need to find a way to auto-size div by img content (without css) looking into layerswitcher code we can find this: maximizeControl: function(e) { //HACK HACK HACK - find a way to auto-size this layerswitcher this.div.style.width = "20em"; this.div.style.height = ""; ... ))))))))))) Now I'm going to try Sys.UI.DomElement.getBounds function from MS AJAX client lib. Bart van den Eijnden wrote: > > Hi, > > for me it works in the loadingpanel example: > > http://dev.openlayers.org/addins/loadingPanel/trunk/examples/loadingpanel.html > > It could have to do with the sequence in which you add the controls, > take a good look at the example. > > Best regards, > Bart > > BrainDrain wrote: >> I've found that loadingPanel addon doesn't work properly >> When I add some controls (including new OpenLayers.Control.LoadingPanel() >> & >> new OpenLayers.Control.Navigation({ zoomWheelEnabled: true }) in my map >> (I'm >> using tiled mapserver layer) >> and when tiles loading - mouse wheel doesn't change zoom level in my map >> mouse wheel become working only after loading ends >> BUT with MouseDefaults control all works perfectly! >> After some digging I can see that problem in onWheelEvent (MouseWheel >> handler): >> var elem = OpenLayers.Event.element(e) - eveluates to {... , >> className="olControlLoadingPanel olControlNoSelect", ...} >> and then overLayerDiv evaluates to false - so >> this.wheelZoom(e) - is not called at all during loadingPanel is active >> (maximized) >> What is the best way to fix that? >> >> >> >> > > > -- > Bart van den Eijnden > OSGIS, Open Source GIS > bart...@osgis.nl > http://www.osgis.nl > > _______________________________________________ > Users mailing list > Users@openlayers.org > http://openlayers.org/mailman/listinfo/users > > -- View this message in context: http://www.nabble.com/buggy-loadingPanel-%28vs-Navigation-MouseDefaults%29-please-help%21-tp21144457p21145874.html Sent from the OpenLayers Users mailing list archive at Nabble.com. _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users