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

cmose cjmose at gmail.com
Fri Jan 18 11:23:28 EST 2008


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.




More information about the Users mailing list