[OpenLayers-Users] disable Zoom-in function?

Xiaopeng Xiong xpxiong at purdue.edu
Tue Dec 12 14:45:02 EST 2006


I have found the right function to deal with the problem.
Thanks all.


Xiaopeng


----- Original Message ----- 
From: "Xiaopeng Xiong" <xpxiong at purdue.edu>
To: <users at openlayers.org>
Sent: Tuesday, December 12, 2006 9:56 AM
Subject: Re: [OpenLayers-Users] disable Zoom-in function?


> Thanks Chris and Erik.
>
> I changed the .js using Erik's suggestion, and it actually works. But the
> remaining problem is that the rect region immediately disappear when
> the mouse is released. If I disable the  "this.removeZoomBox();", the rect
> region will never be cleaned out so there will be multiple rects.
> I also tried to put the removeZoomBox() call to "defaultMouseDown" 
> funciton,
> it seems not working neither.
>
>
> Thanks,
> Xiaopeng
>
>
>
>
> ----- Original Message ----- 
> From: "Erik Uzureau" <euzuro at gmail.com>
> To: "Christopher Schmidt" <crschmidt at metacarta.com>
> Cc: "Xiaopeng Xiong" <xpxiong at purdue.edu>; <users at openlayers.org>
> Sent: Tuesday, December 12, 2006 7:46 AM
> Subject: Re: [OpenLayers-Users] disable Zoom-in function?
>
>
>> Hi Xiaopeng
>>
>> The way to do this is, like chris said, inside
>> OpenLayers.Control.MouseDefaults. You need  to override the
>> zoomBoxEnd() function.
>>
>> The easiest way to do this is like this:
>>
>>    OpenLayers.Control.MouseDefaults.prototype.zoomBoxEnd = function (evt)
>> {
>>
>>    if (this.mouseDragStart != null) {
>>
>>        // Ripped from MouseDefaults.js
>>            var start = this.map.getLonLatFromViewPortPx(
>>                            this.mouseDragStart );
>>            var end = this.map.getLonLatFromViewPortPx( evt.xy );
>>            var top = Math.max(start.lat, end.lat);
>>            var bottom = Math.min(start.lat, end.lat);
>>            var left = Math.min(start.lon, end.lon);
>>            var right = Math.max(start.lon, end.lon);
>>            var bounds = new OpenLayers.Bounds(left, bottom,
>>                                                  right, top);
>>        // End rip.
>>
>>        // Do whatever you want to do here
>>
>>         // remove the zoombox
>>         this.removeZoomBox();
>>
>>        }
>>    }
>> }
>>
>>
>>
>> On 12/11/06, Christopher Schmidt <crschmidt at metacarta.com> wrote:
>>> On Mon, Dec 11, 2006 at 03:37:33PM -0500, Xiaopeng Xiong wrote:
>>> > I am curious is it possible to disable the functionality of zoom-in
>>> > when a
>>> > user draws a rectangluar region using mouse?
>>> > My application just wants users to draw a query region on the map
>>> > instead of
>>> > have the map zoomed in...
>>>
>>> This would be a non-trivial modification to
>>> OpenLayers.Control.MouseDefaults. I suggest you read and understand the
>>> code there to start: if you have questions on it, please feel free to
>>> come back to the list for explanations.
>>>
>>> Regards,
>>> --
>>> Christopher Schmidt
>>> MetaCarta
>>> _______________________________________________
>>> Users mailing list
>>> Users at openlayers.org
>>> http://openlayers.org/mailman/listinfo/users
>>>
>>
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
> 




More information about the Users mailing list