Подключил файл к проекту и странице.
делаю так:
Код: Выделить всё
map.events.register("zoomend", map, function (e) {
var strategies = [];
if (map.getZoom() !== 3) {
alert("этап 1");
markersLayer.strategies = new OpenLayers.Strategy.Cluster({ distance: 10 });
} else {
markersLayer.strategies = new OpenLayers.Strategy.AttributeCluster({
'attribute': 'group',
'distance': 800,
'thresholdDistance': 10
});
}
alert("этап 2");
markersLayer.strategies.recluster();
alert("этап 3");
});
Кстати, как мне быть с ним. у него же нет recluster функции? или он унаследует её от нового экземпляра OpenLayers.Strategy.Cluster ?
-----------
что то странное вообще... как только начинаю листать и смотреть созданный JS файл, VS2010 насмерть зависает... именно с этим файлом.. хм...
----------
Заменил стандартный класс новым (прям в OpenLayers.js). Метод recluster вызывется - проверил это поместив алерт в сам метод в классе - результата 0

может быть я не правильно присваиваю стратегию?
сделал так, но тоже не работает:
Код: Выделить всё
map.events.register("zoomend", map, function (e) {
var strategies = [];
if (map.getZoom() !== 3) {
strategies.push(new OpenLayers.Strategy.Cluster({ distance: 20 }));
} else {
strategies.push(new OpenLayers.Strategy.AttributeCluster({
'attribute': 'group',
'distance': 800,
'thresholdDistance': 10
}));
}
markersLayer.strategies = strategies;
strategies.recluster();
});