[OpenLayers-Users] Clustering and addFeatures method

Jacolin Yves yjacolin at free.fr
Thu Oct 23 05:30:47 EDT 2008


Le Thursday 16 October 2008 17:31:19 Eric Lemoine, vous avez écrit :
> Hi Yves. I don't see anything wrong with what you're doing. So you're
> saying you are adding two features (far from each other), and
> nevertheless see only one of the two on the map, right? Could you cook
> up a small example so that we can reproduce the problem. Eric
>
> 2008/10/16, Jacolin Yves <yjacolin at free.fr>:
> > Hello,
> >
> > I am trying to set up a cluster strategy for one of my vector layer. I
> > add this code to my existing code:
> >   var vector = new OpenLayers.Layer.Vector(name,
> >                   {
> >                      strategies: [
> >                         new OpenLayers.Strategy.Cluster({distance:20})
> >                       ]
> >                   }
> >                 );
> > Before this, the code was " var vector = new
> > OpenLayers.Layer.Vector(name);"
> >
> > I fill my vectorLayers later, reading a postgis result with:
> >
> > var feature = wktParser.read(_tmp[1]);
> > [..]
> > vectorLayer.addFeatures([ feature ]);
> >
> > I get only one feature (instead of 2) for all the zoom level. I tried to
> > change the distance option above, but nothing append. If I check the DOM,
> > nothing show me that there are more than 1 feature in this layer.
> >
> > Where am I wrong?
> >
> > Y.
> > PS : the code is much more longer than here and is split in several
> > functions
> > so I can't show you all in once, I tried to put the most readable as
> > possible.
> > --
> > Yves Jacolin
> > ---
> > http://softlibre.gloobe.org
> > _______________________________________________
> > Users mailing list
> > Users at openlayers.org
> > http://openlayers.org/mailman/listinfo/users

Hi guys,

I succeed to find where was the issue :)

Before "my" code was:

    while(something) 
     {
        [...]
        vectorLayer.addFeatures([ feature ]);
    }

After:
  var features = Array();
  var i = 0;
   while(something) 
     {
       [...]
        features[i] = feature;
        i++;
    }
    vectorLayer.addFeatures(features);

Now my features are clustered!

Thanks to everyone! More question later ;)

Y.
-- 
Yves Jacolin
---
http://softlibre.gloobe.org



More information about the Users mailing list