Przeglądaj źródła

add strategy change on specify zoom

Marek Strzała 11 lat temu
rodzic
commit
c02f9f3606
1 zmienionych plików z 15 dodań i 10 usunięć
  1. 15 10
      SE/superedit-OPEN_LAYERS_WPS.php

+ 15 - 10
SE/superedit-OPEN_LAYERS_WPS.php

@@ -324,7 +324,7 @@ SQL;
 			style.addRules([rule]);
 			
 			_layer = new OpenLayers.Layer.Vector("Warstwa rysowania", {
-				strategies: [new OpenLayers.Strategy.BBOX()],
+				strategies:  [new OpenLayers.Strategy.BBOX(), new OpenLayers.Strategy.Cluster( {distance: 15, threshold: 2})],
 				projection: new OpenLayers.Projection("EPSG:4326"),
 				styleMap: new OpenLayers.StyleMap(style),
 				protocol: new OpenLayers.Protocol.WFS({
@@ -423,30 +423,35 @@ SQL;
 				//	new OpenLayers.Control.MousePosition()				
 				], layers: [gphy]
 			});
-		//	map.addLayer(_layer);
+			map.addLayer(_layer);
 		
 			map.events.register("zoomend", this, function(e) {
 				var zoom = map.getZoom();
 				console.log("Zoom = "  + zoom);
-
-				if (zoom >= 11 && zoom <= 12) {
-					map.addLayer(_layer);
-				} else if (zoom == 11){
-					var myLayer = map.getLayersByName('Warstwa rysowania');
-					myLayer[0].destroy();
+				console.log(_layer.strategies[1]);
+				if (zoom > 15 && _layer.strategies[1].active) {
+ 					_layer.strategies[1].deactivate();					
+ 					_layer.refresh({force:true});
+ 				} else if (zoom <= 15 && !_layer.strategies[1].active) {
+ 					_layer.strategies[1].activate();					
+ 					_layer.refresh({force:true});
+ 				}
+				//	map.addLayer(_layer);
+				//} else if (zoom == 11){
+				//	var myLayer = map.getLayersByName('Warstwa rysowania');
+				//	myLayer[0].destroy();
 
 				//	_layer.destroy();					
 				//	map.removeLayer(_layer, false);	
 				//	console.log("costam: "+ map.getLayer());
 				//	map.addLayer(_layer);	
-				_layer.setVisibility(false);
+				//	_layer.setVisibility(false);
 				
 				//	map.addLayer(_layer);
 				
 				//	map.removeLayer(_layer, false);
 					
 				//	map.refresh();
-				}
 			});