summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js26
1 files changed, 17 insertions, 9 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index 71b0d76..6354cf7 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -321,8 +321,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
/* Cluster layer */
settings.clustering = new OpenLayers.Strategy.Cluster({
- distance: 20,
- threshold: 3});
+ distance: 10,
+ threshold: 2});
settings.layerCluster = new OpenLayers.Layer.Vector("Cluster layer",
{styleMap: new OpenLayers.StyleMap({'default': style}),
strategies: [settings.clustering]});
@@ -354,7 +354,6 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
highlightCtrl.activate();
selectCtrl.activate();
-
}
/* Markers layer */
@@ -562,7 +561,6 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (settings.enable_clustering){
settings.layerCluster.addFeatures(
settings.cluster_array);
- settings.clustering.recluster();
methods.cleanCluster();
}
settings.map.resetLayersZIndex();
@@ -709,11 +707,22 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
* Hide clusterized markers
*/
cleanCluster: function (){
+ if (settings.map.getZoom() === 18) {
+ // Don't cluster at this level. No matter what.
+ settings.clustering.threshold = 1000;
+ } else {
+ settings.clustering.threshold = 2;
+ }
+ //settings.layerCluster.refresh({force:true});
+ settings.clustering.recluster();
var hidden_feature_idx = [];
- for(var idx=0; idx<settings.layerCluster.features.length; idx++){
- if(settings.layerCluster.features[idx].cluster){
- for(var c=0; c < settings.layerCluster.features[idx].cluster.length; c++) {
- hidden_feature_idx.push(settings.layerCluster.features[idx].cluster[c].attributes.pk);
+ if (settings.map.getZoom() != 18) {
+ for(var idx=0; idx<settings.layerCluster.features.length; idx++){
+ if(settings.layerCluster.features[idx].cluster){
+ for(var c=0;c < settings.layerCluster.features[idx].cluster.length; c++) {
+ hidden_feature_idx.push(
+ settings.layerCluster.features[idx].cluster[c].attributes.pk);
+ }
}
}
}
@@ -724,7 +733,6 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
settings.layerMarkers.markers[j].display(true);
}
}
- settings.layerCluster.refresh({force:true});
},
/*
* Put a marker on the map