[OpenLayers-Users] Problem wth ScaleBar

Tim Schaub tschaub at openplans.org
Mon Jan 28 16:46:03 EST 2008


Hey-

David R Robison wrote:
> Found the problem. I have 10 style sheets loaded into the application. 
> When processing the first, the access to cssRules through the error: 
> NS_ERROR_DOM_INVALID_ACCESS_ERR. This error caused the other style 
> sheets to be ignored. If I replaced the "break" in the catch block with 
> "continue", all was well. David

Yeah, I guessed it was something like that.  Can you mention the name of 
your browser?  And perhaps give an indication of how your stylesheets 
are included/linked?  Do any of your stylesheets have no rules in them? 
  I'm curious to see where sheet.cssRules is undefined for one 
stylesheet but not the next.

The patch for #24 is updated.  Thanks for any more info.

Tim

> 
> Tim Schaub wrote:
>> Hey-
>>
>> Tim Schaub wrote:
>>   
>>> Hey-
>>>
>>> Can you send me a bit more context?  If you can't provide a link to a 
>>> live site, but can send a page (or pages), send directly to me.
>>>     
>>
>> Sorry, and browser info.
>>
>>   
>>> Thanks,
>>> Tim
>>>
>>> David R Robison wrote:
>>>     
>>>> It looks like I have the right code. I think the problem is with the 
>>>> styleValue routine. I have had to modify the following code in the draw 
>>>> function:
>>>>
>>>>         var vertDisp = 0;
>>>>         for(var classIndex = 0; classIndex < classNames.length; 
>>>> ++classIndex) {
>>>>             var cls = classNames[classIndex];
>>>>             vertDisp = Math.max(
>>>>                 vertDisp,
>>>>                 this.styleValue(cls, 'top') + this.styleValue(cls, 'height')
>>>>             );
>>>>         }
>>>>         if (vertDisp == 0) vertDisp = 30;
>>>>
>>>> The vertDisp value was coming out to be zero. By adding the last line 
>>>> and setting it to 30 it helped, but the bar still looks a bit off. I 
>>>> load a number of style sheets and I think that there is an issue with 
>>>> one that is causing the problem. I suspect the following code in styleValue:
>>>>
>>>>                         if(typeof(sheet.cssRules) == 'undefined') {
>>>>                             if(typeof(sheet.rules) == 'undefined') {
>>>>                                 // can't get rules, assume zero
>>>>                                 break;
>>>>                             } else {
>>>>                                 allRules = sheet.rules;
>>>>                             }
>>>>                         } else {
>>>>                             allRules = sheet.cssRules;
>>>>                         }
>>>>
>>>> I am wondering if the "break;" should be a "continue;"? Any thoughts? David
>>>>
>>>> Tim Schaub wrote:
>>>>       
>>>>> Hey-
>>>>>
>>>>> David R Robison wrote:
>>>>>   
>>>>>         
>>>>>> I was using the one in the tschaub sandbox. David
>>>>>>
>>>>>>     
>>>>>>           
>>>>> If you take a look at the patch for the scale bar, you'll see there are 
>>>>> some changes required to the default stylesheet.
>>>>>
>>>>> http://trac.openlayers.org/attachment/ticket/24/scalebar.patch
>>>>>
>>>>> In addition, you'll want to add your stylesheet with a link tag instead 
>>>>> of relying on the default dynamically added stylesheet.
>>>>>
>>>>> <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
>>>>>
>>>>> Thanks for trying it out.  Write back if you still have any trouble with it.
>>>>>
>>>>> Tim
>>>>>
>>>>>
>>>>>   
>>>>>         
>>>>>> Christopher Schmidt wrote:
>>>>>>     
>>>>>>           
>>>>>>> On Mon, Jan 21, 2008 at 06:43:27PM -0500, David R Robison wrote:
>>>>>>>   
>>>>>>>       
>>>>>>>             
>>>>>>>>  I am trying to get the OpenLayers.Control.ScaleBar working. I've added 
>>>>>>>> it to my map according to the example html. However, when my map draws, 
>>>>>>>> I get the units (in my case 'miles') but it displays at the bottom of 
>>>>>>>> the map and I get no scale bar. Its as if the scale bar is below the map 
>>>>>>>> and hidden. Any thoughts on how to get this to work correctly? Thanks, David
>>>>>>>>     
>>>>>>>>         
>>>>>>>>               
>>>>>>> Are you adding ScaleBar (which isn't in trunk) or Scale()? OpenLayers
>>>>>>> does not currently have a ScaleBar control.   
>>>>>>>
>>>>>>> Regards,
>>>>>>>   
>>>>>>>       
>>>>>>>             
>>>>>> -- 
>>>>>>
>>>>>> 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
>>>>>>
>>>>>>  
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>   
>>>>>         
>>>> -- 
>>>>
>>>> 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
>>>>
>>>>  
>>>>
>>>>
>>>>       
>>> _______________________________________________
>>> Users mailing list
>>> Users at openlayers.org
>>> http://openlayers.org/mailman/listinfo/users
>>>
>>> !DSPAM:4033,479e436033035219720167!
>>>
>>>     
>>
>> _______________________________________________
>> 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
> 
>  
> 
> !DSPAM:4033,479e4b1f56767082231907!




More information about the Users mailing list