[OpenLayers-Users] Multiple linestrings originating from the same point disappear when zooming

cmose cjmose at gmail.com
Wed Jan 23 12:25:58 EST 2008


Thanks, I'll check out the patch and give that a try. I need to rework my
example as I am experiencing the same problem in IE on my production app but
the example I knocked up isn't showing that (in fact it looks like it errors
out in ie).


Pierre GIRAUD wrote:
> 
> Ok, I just remembered this was an already discussed issue.
> http://trac.openlayers.org/ticket/719
> http://trac.openlayers.org/ticket/713
> 
> Regards,
> Pierre
> 
> On Jan 19, 2008 12:13 PM, Pierre GIRAUD <bluecarto at gmail.com> wrote:
>> For your information, your code is correct and I think I've found what
>> part of the OpenLayers' code is involved in this weird behavior.
>> I'll try to find out a fix or at least a workaround for this issue. If
>> your interested in fixing this too, you can have a look at the SVG
>> renderer (lib/OpenLayers/Renderer/SVG.js) and in particular at
>> getShortString(), inValidRange() and MAX_PIXEL.
>>
>> I plan to fill a bug report, but don't hesitate to do so if your quicker.
>>
>> Hum, I was unable to reproduce the issue under IE with your example.
>>
>> Regards,
>> Pierre
>>
>>
>>
>> On Jan 18, 2008 5:23 PM, cmose <cjmose at gmail.com> wrote:
>> >
>> > I have several lineStrings on a vector layer that originate from the
>> same
>> > lat/lon coordinate. As you zoom in on the map, the lineStrings randomly
>> > disappear, e.g,. if you start out with 6 lines originating from the
>> same
>> > point, as you zoom in on the map lines will randomly disappear until
>> there
>> > are <6 lines left.
>> >
>> > I've verified this behavior using a modified version of
>> vector-features.html
>> > from the examples directory. I don't have anywhere to host my example
>> but
>> > here is my modified script declaration from vector-features.html:
>> >
>> >     <script src="../lib/OpenLayers.js" type="text/javascript"></script>
>> >     <script type="text/javascript">
>> >         var map;
>> >
>> >         function init(){
>> >             map = new OpenLayers.Map('map');
>> >             var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
>> >                     "http://labs.metacarta.com/wms/vmap0", {layers:
>> 'basic'}
>> > );
>> >             map.addLayer(layer);
>> >
>> >             /*
>> >              * Layer style
>> >              */
>> >             // we want opaque external graphics and non-opaque internal
>> > graphics
>> >             var layer_style = OpenLayers.Util.extend({},
>> > OpenLayers.Feature.Vector.style['default']);
>> >             layer_style.fillOpacity = 0.2;
>> >             layer_style.graphicOpacity = 1;
>> >
>> >             /*
>> >              * Blue style
>> >              */
>> >             var style_blue = OpenLayers.Util.extend({}, layer_style);
>> >             style_blue.strokeColor = "blue";
>> >             style_blue.fillColor = "blue";
>> >
>> >             /*
>> >              * Green style
>> >              */
>> >             var style_green = {
>> >                 strokeColor: "#00FF00",
>> >                 strokeWidth: 2,
>> >                 pointRadius: 4,
>> >                 pointerEvents: "visiblePainted"
>> >             };
>> >
>> >             /*
>> >              * Mark style
>> >              */
>> >             var style_mark = OpenLayers.Util.extend({},
>> > OpenLayers.Feature.Vector.style['default']);
>> >             // each of the three lines below means the same, if only
>> one of
>> >             // them is active: the image will have a size of 24px, and
>> the
>> >             // aspect ratio will be kept
>> >             // style_mark.pointRadius = 12;
>> >             // style_mark.graphicHeight = 24;
>> >             // style_mark.graphicWidth = 24;
>> >
>> >             // if graphicWidth and graphicHeight are both set, the
>> aspect
>> > ratio
>> >             // of the image will be ignored
>> >             style_mark.graphicWidth = 24;
>> >             style_mark.graphicHeight = 20;
>> >             style_mark.graphicXOffset = -(style_mark.graphicWidth/2); 
>> //
>> > this is the default value
>> >             style_mark.graphicYOffset = -style_mark.graphicHeight;
>> >             style_mark.externalGraphic = "../img/marker.png";
>> >
>> >             var vectorLayer = new OpenLayers.Layer.Vector("Simple
>> Geometry",
>> > {style: layer_style});
>> >                 var point = OpenLayers.Geometry.Point;
>> >                 var ls = OpenLayers.Geometry.LineString;
>> >                 var vector = OpenLayers.Feature.Vector;
>> >                 var lines = [];
>> >                 var features = [];
>> >
>> >                 lines.push(new ls([new point(1,50), new
>> point(75,60)]));
>> >                 lines.push(new ls([new point(1,50), new
>> point(-60,-30)]));
>> >                 lines.push(new ls([new point(1,50), new
>> point(40,89)]));
>> >                 lines.push(new ls([new point(1,50), new
>> point(-150,-55)]));
>> >                 lines.push(new ls([new point(1,50), new
>> point(-30,-25)]));
>> >                 lines.push(new ls([new point(1,50), new
>> point(-5,-10)]));
>> >
>> >                 for(var i=0;i<lines.length;i++){
>> >                         features.push(new vector(lines[i], null,
>> style_green));
>> >                 }
>> >
>> >             map.addLayer(vectorLayer);
>> >             map.setCenter(new OpenLayers.LonLat(1,50), 5);
>> >             vectorLayer.addFeatures(features);
>> >         }
>> >     </script>
>> >
>> > The map is initialized with a zoom level of 5. Once you get to 8 one of
>> the
>> > 6 lines disappears, leaving you with 5. Zoom level 9 removes all but
>> one
>> > line. Zoom level 10 removes all lines.
>> >
>> > I haven't traced the issue beyond drawFeature() in Vector.js. I've
>> tested
>> > the example in Firefox thus far but in my app I'm getting the same
>> behavior
>> > in ff and ie.
>> >
>> > Any ideas?
>> > --
>> > View this message in context:
>> http://www.nabble.com/Multiple-linestrings-originating-from-the-same-point-disappear-when-zooming-tp14952551p14952551.html
>> > Sent from the OpenLayers Users mailing list archive at Nabble.com.
>> >
>> > _______________________________________________
>> > 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
> 
> 

-- 
View this message in context: http://www.nabble.com/Multiple-linestrings-originating-from-the-same-point-disappear-when-zooming-tp14952551p15047347.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.




More information about the Users mailing list