[OpenLayers-Users] cluster strategy

Paul Spencer pagameba at gmail.com
Wed Feb 16 08:37:12 EST 2011


I don't know your code but I would assume that you are looking for something like this:

var map = new OpenLayers.Map('mapDiv', mapOptions);
var clusterStrategy = new OpenLayers.Strategy.Cluster(clusterOptions); 
var layerOptions = {
  strategies: [clusterStrategy]
};
var vectorLayers = new OpenLayers.Layer.Vector('features', layerOptions);

// cluster threshold
var clusterMaxZoom = 10;

map.events.register('move', null, function() {  // #2, #3 respond to map extent change
  // disable cluster when zoom greater than threshold
  if (map.getZoom() > clusterMaxZoom) {  // #2.1 how to read current zoom
    clusterStrategy.deactivate();  // #2.2 how to disable cluster strategy
  } else {
    clusterStrategy.activate();
  }

  // filter features based on bounding box
  var extent = map.getExtent();  // #3.1

  // reload features here, it depends on how you read your features in now

});

If you are not using a Protocol like WFS () with your layer then the BBOX strategy will have no effect and you will have to manually reload features using whatever mechanism you are using now.

Cheers

Paul

On 2011-02-16, at 7:58 AM, Mihai Visan wrote:

> Thanks Paul,
> 
> I already read the documentation and all tutorial and user discusions I could found.
> 
> But I'm a week at javascript, so I could use some examples or tutorials  I could transform
> 
> -----Original Message----- From: Paul Spencer
> Sent: Wednesday, February 16, 2011 2:43 PM
> To: Mihai Visan
> Subject: Re: [OpenLayers-Users] cluster strategy
> 
> Mihai, all of your questions have answers in the documentation ...
> 
> On 2011-02-16, at 7:29 AM, Mihai Visan wrote:
> 
>> 2. disable cluster strategy at certain zoom level.
>>    Problems:     2.1. I don’t know how to read current zoom
> 
> http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.getZoom
> 
>>                        2.2. I don’t know to disable cluster strategy
> 
> http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Strategy/Cluster-js.html#OpenLayers.Strategy.Cluster.deactivate
> 
>> 
>> 3. use (BBOX strategy and) ajax to disable features outside visible bounds
>>    Problems:    3.1. I don’t know how to read visible bounds
> 
> http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.getExtent
> 
>>                       3.2. I don’t know  how to integrate ajax with (BBOX and) mouse drag or zoom in/out
> 
> http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.EVENT_TYPES
> 
> Cheers
> 
> Paul 



More information about the Users mailing list