[OpenLayers-Users] Multiple linestrings originating from the
same point disappear when zooming
cmose
cjmose at gmail.com
Wed Jan 23 14:51:15 EST 2008
And follow-up part II. I was wrong about the ie being effected, I had some
funky issue with something on my end. The patch listed in 713 is
incorporated into the version of OL that I'm using (2.5) and I still
experience the disappearing line phenomenon. I'll have to look into the code
in SVG.js I suppose.
cmose wrote:
>
> 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-tp14952551p15050415.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list