Hey-

Michael Quentel wrote:
> Via OpenLayers (or other javascript means), any ideas on how to
> intercept mouse events that are "too rapid" in succession?  

You'd have to customize the event handling code to set timers 
(window.setTimeout) and only respond to a limited set of events.

> 
> For example, if someone uses a mouse wheel too fast, it would be nice to
> intercept the movements, then submit the net result to the server,
> rather than submitting each event that has occurred.  Reason why this is
> of concern is that some server-side mapping applications are prone to
> fail if too many requests are made in rapid succession.

Yeah, we'd be better off if mouse wheeling just did a "transition 
effect" or "animated zooming" on the client side - not issuing requests 
until after scrolling finished (after some delay with no more wheel events).

The easiest way to modify this behavior right now would be to override 
this function:

OpenLayers.Handler.MouseWheel.prototype.onWheelEvent

Basically, you'd want to duplicate the existing code, but execute it 
with a window.setTimeout, accruing the wheel delta somewhere (on the 
handler) and canceling previous timers when you got a new event.

All this is a bit ugly - and without animated zooming the user will get 
no response until they stop scrolling - but it will give your server a 
break.

Good luck,
Tim

> I am not using a popular off-the-shelf map server; nor am I using an
> open source map server.  Please, any advice on intercepting the net
> result of mouse events is appreciated.
> 
> Many thanks.
> 
> Mike Quentel
> 
> ---------------------------------------------------------------------
> This transmission (including any attachments) may contain confidential 
> information, privileged material (including material protected by the 
> solicitor-client or other applicable privileges), or constitute non-public 
> information. Any use of this information by anyone other than the intended 
> recipient is prohibited. If you have received this transmission in error, 
> please immediately reply to the sender and delete this information from your 
> system. Use, dissemination, distribution, or reproduction of this 
> transmission by unintended recipients is not authorized and may be unlawful.
> _______________________________________________
> Users mailing list
> [email protected]
> http://openlayers.org/mailman/listinfo/users
> 
> !DSPAM:4033,474c95ea292781804284693!
> 

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to