[OpenLayers-Users] Problem clicking on a map (OL-2.5) - RESOLVED

David R Robison drrobison at openroadsconsulting.com
Tue Jun 10 10:39:21 EDT 2008


For now, I have just removed the "if" condition and calculate the offset 
every time. I'll look to see if performance suffers. David

Christopher Schmidt wrote:
> On Tue, Jun 10, 2008 at 10:31:49AM -0400, David R Robison wrote:
>   
>> I found the problem... On my page I have a fixed header and footer and a 
>> client region with the style "overflow: scroll". The problem is in 
>> getMousePosition:
>>
>>    getMousePosition: function (evt) {
>>        if (!this.element.offsets) {
>>            this.element.offsets = 
>> OpenLayers.Util.pagePosition(this.element);
>>            this.element.offsets[0] += (document.documentElement.scrollLeft
>>                         || document.body.scrollLeft);
>>            this.element.offsets[1] += (document.documentElement.scrollTop
>>                         || document.body.scrollTop);
>>        }
>>        return new OpenLayers.Pixel(
>>            (evt.clientX + (document.documentElement.scrollLeft
>>                         || document.body.scrollLeft)) - 
>> this.element.offsets[0]
>>                         - (document.documentElement.clientLeft || 0),
>>            (evt.clientY + (document.documentElement.scrollTop
>>                         || document.body.scrollTop)) - 
>> this.element.offsets[1]
>>                         - (document.documentElement.clientTop || 0)
>>        );
>>    },
>>
>> The first conditional "caches" the offsets. However, if the client area 
>> is scrolled, the new positions are not recalculated. If I comment out 
>> the conditional, then everything works great. I'm not sure this is 
>> clear... Any thoughts? David
>>     
>
> If the position of the map within the page changes, call
> 'map.updateSize()' (which clears out the offsets). 
>
> The offsets are cached for performance reasons -- though I'll admit that
> that was originally done in the FF 1.0 series, and may no longer be
> particularly important. If you could figure out a way to have the map
> figure out when it has changed positions, and update the cache
> accordingly, a patch would be great. 
>
>   
>> Eric Lemoine wrote:
>>     
>>> On Thu, Jun 5, 2008 at 6:18 PM, David R Robison
>>> <drrobison at openroadsconsulting.com> wrote:
>>>  
>>>       
>>>> We are having a pecular problem when clicking on a map. The map is on a
>>>> large web page. If the page is scrolled partway down (not positioned at
>>>> the top of the map), clicking on the map will return an XY position that
>>>> is above the actual click. If we scroll the page back to the top, then
>>>> the clicking works. We are using OL-2.5. Has anyone else experienced
>>>> this?
>>>>    
>>>>         
>>> No. Do you a public page where we can see that, or some code for
>>> someone to reproduce?
>>>
>>>  
>>>       
>>>> Was it fixed in 2.6?
>>>>    
>>>>         
>>> Dunno.
>>>
>>>  
>>>       
>>>> Thanks, David Robison
>>>>    
>>>>         
>>> --
>>> Eric
>>>  
>>>       
>> -- 
>>
>> David R Robison
>> Open Roads Consulting, Inc.
>> 708 S. Battlefield Blvd., Chesapeake, VA 23322
>> phone: (757) 546-3401
>> e-mail: drrobison at openroadsconsulting.com
>> web: http://openroadsconsulting.com
>> blog: http://therobe.blogspot.com
>> book: http://www.xulonpress.com/book_detail.php?id=2579
>>
>> This e-mail communication (including any attachments) may contain 
>> confidential and/or privileged material intended solely for the individual 
>> or entity to which it is addressed.  If you are not the intended recipient, 
>> you should immediately stop reading this message and delete it from all 
>> computers that it resides on. Any unauthorized reading, distribution, 
>> copying or other use of this communication (or its attachments) is strictly 
>> prohibited.  If you have received this communication in error, please 
>> notify us immediately.  
>>
>>
>>
>>
>>     
>
>   
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>     
>
>
>   

-- 

David R Robison
Open Roads Consulting, Inc.
708 S. Battlefield Blvd., Chesapeake, VA 23322
phone: (757) 546-3401
e-mail: drrobison at openroadsconsulting.com
web: http://openroadsconsulting.com
blog: http://therobe.blogspot.com
book: http://www.xulonpress.com/book_detail.php?id=2579

This e-mail communication (including any attachments) may contain confidential and/or privileged material intended solely for the individual or entity to which it is addressed.  If you are not the intended recipient, you should immediately stop reading this message and delete it from all computers that it resides on. Any unauthorized reading, distribution, copying or other use of this communication (or its attachments) is strictly prohibited.  If you have received this communication in error, please notify us immediately.  



 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20080610/e73543a0/attachment.html


More information about the Users mailing list