[OpenLayers-Users] recenter on a vector layer with Cluster strategy on

Didrik Pinte lists at dipole-consulting.com
Thu Dec 11 02:39:50 EST 2008


On Wed, 2008-12-10 at 13:03 -0500, Christopher Schmidt wrote:
> On Wed, Dec 10, 2008 at 06:39:16PM +0100, Didrik Pinte wrote:
> > Hi,
> > 
> > I try to have a vector layer with a Cluster and Fixed strategy
> > automatically recenter after the feature are added to the layer.
> > 
> > It works fine with the Fixed strategy only but with the Cluster, it is
> > just wrong ...
> > 
> > Does anyone of you knows if this bug could be the source of the problem
> > #1820 ?
> > 
> > I am recentering using a layer.getDataExtent(). I suppose this is the
> > culprit.
> 
> getDataExtent only works against the features currently in the layer --
> it isn'at aware of the 'subfeatures' inside the clusters. 

Ok, that explains the problem but the clusters have a data extent that
should approximately match the one of all the features, no ?

> I use this instead:
> 
>     var e = m.layers[0].features[0].geometry.getBounds();
>     for (var i = 0; i < m.layers[0].features.length; i++) {
>         for (var j = 0; j< m.layers[0].features[i].cluster.length; j++) {
>             e.extend(m.layers[0].features[i].cluster[j].geometry.getBounds());
>         }
>     }
> 
> This creates an extent that takes into account all the features.

Good idea. This solves the problem. 

But considering I am using a Fixed strategy, the DataExtent does not
change in time because they are all loaded from the start. I find it a
bit annoying to parse the data set again checking all the features to
get de data extent. Could the Fixed strategy be responsible of such a
computation ?

Didrik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.osgeo.org/pipermail/openlayers-users/attachments/20081211/7b471381/attachment.bin


More information about the Users mailing list