[OpenLayers-Trac] [OpenLayers] #517: Vector: Renderer problems in IE6

OpenLayers trac at openlayers.org
Fri Mar 9 05:46:34 EST 2007


#517: Vector: Renderer problems in IE6
-------------------------+--------------------------------------------------
  Reporter:  openlayers  |       Owner:                               
      Type:  bug         |      Status:  new                          
  Priority:  major       |   Milestone:                               
 Component:  general     |     Version:                               
Resolution:              |    Keywords:  vector, editing, renderer, ie
-------------------------+--------------------------------------------------
Changes (by openlayers):

  * priority:  minor => major

Comment:

 I've done some debugging with the VML renderer. I am not an expert in VML
 but it seems the problem is: VML can't handle floating point numbers as
 coordinates. So you can't draw shapes into the map coordinate space.

 for example:

 i have a line geometry
 lon=55.107421875,lat=3.33984375,lon=63.896484375,lat=-0.791015625

 the generated VML results in something like:


 {{{
     <v:group id=OpenLayers.Layer.Vector_8181_root
         style="WIDTH: 1260px; HEIGHT: 500px" coordsize="111,-44"
         coordorigin="40,27">
         <v:shape id=OpenLayers.Geometry.Point_8947
             style="LEFT: 55px; WIDTH: 1px; TOP: 3px; HEIGHT: 1px"
             coordsize="10,10" filled="t" fillcolor="black" stroked="t"
             strokecolor="blue" strokeweight="1pt"
             path=" m0,-5 at-5,-5,5,5,0,-5,0,-5 x e">
             <v:path id=OpenLayers.Geometry.Point_8947_path></v:path>
             <v:fill opacity="26214f"></v:fill>
             <v:stroke opacity="1"></v:stroke>
         </v:shape>
         <v:shape id=OpenLayers.Geometry.LinearRing_9037
             style="LEFT: 55px; WIDTH: 0px; TOP: 3px; HEIGHT: 0px"
             coordsize="0,0" filled="t" fillcolor="black" stroked="t"
             strokecolor="blue" strokeweight="1pt"
             path=" m0,0 l0,0 xe">
             <v:fill opacity="26214f"></v:fill>
             <v:stroke opacity="1"></v:stroke>
         </v:shape>
         <v:shape id=OpenLayers.Geometry.Point_6311
             style="LEFT: 64px; WIDTH: 1px; TOP: 0px; HEIGHT: 1px"
             coordsize="10,10" filled="t" fillcolor="black" stroked="t"
             strokecolor="yellow" strokeweight="1pt"
             path=" m0,-5 at-5,-5,5,5,0,-5,0,-5 x e">
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:path id=OpenLayers.Geometry.Point_6311_path></v:path>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
         </v:shape>
         <v:shape id=OpenLayers.Geometry.LineString_3400
             style="LEFT: 55px; WIDTH: 8px; TOP: 0px; HEIGHT: 4px"
             coordsize="9,4" filled="f" fillcolor="black" stroked="t"
             strokecolor="yellow" strokeweight="1pt"
             path=" m0,4 l9,0,0,4 e">
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
             <v:fill opacity="0"></v:fill>
             <v:stroke opacity="1"></v:stroke>
         </v:shape>
     </v:group>
 }}}


 In fact the shape should be: style="LEFT: 55.107421875px; WIDTH: 1px; TOP:
 3.33984375px; HEIGHT: 1px"

 Thats why for small scales the renderer doesn't work.

 Alex

-- 
Ticket URL: <http://trac.openlayers.org/ticket/517#comment:1>
OpenLayers <http://openlayers.org/>
A free AJAX map viewer


More information about the Trac mailing list