diff options
| -rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 26 |
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 |
