Hi Andreas, I have no luck so far.
The following code is from the example styles-context.html, added the getVisibility. If you paste the code into firebug console for the openlayers homepage http://openlayers.org/, it will add a vector layer with points. At zoomLevel 0 the red points are set to display:"none", etc. But you can see, that the display property have no effect. Do I miss something? Mit freundlichen Grüßen Arnd Wippermann // Strategy 2: Style features based on something besides attributes. // create 50 random features in the southern hemisphere var features = new Array(50); for (var i=0; i<features.length; i++) { features[i] = new OpenLayers.Feature.Vector( new OpenLayers.Geometry.Point( (360 * Math.random()) - 180, -90 * Math.random() ), { type: 5 + parseInt(5 * Math.random()) } ); } // create the layer styleMap by giving the default style a context var colors = ["red", "green", "blue"]; var context = { // ################################################ added part getVisibility: function(feature) { var zoomLevel = map.getZoom(); var region = parseInt((feature.geometry.x + 180) / 120); if(region==zoomLevel) var retValue = "none"; else var retValue = ""; console.log("zoom:" + zoomLevel + ", regionColor:" + colors[region] + ", return:'" + retValue + "'"); return retValue; }, // ################################################ end of added part getColor: function(feature) { var region = parseInt((feature.geometry.x + 180) / 120); return colors[region]; }, getType: function(feature) { return feature.attributes["type"]; } }; var template = { display:"${getVisibility}", pointRadius: "${getType}", // using context.getType(feature) fillColor: "${getColor}", // using context.getColor(feature) strokeColor:"black", strokeWidth:2 }; var style = new OpenLayers.Style(template, {context: context}); var layer2 = new OpenLayers.Layer.Vector('Points', { styleMap: new OpenLayers.StyleMap(style)}); layer2.addFeatures(features); map.addLayers([layer2]); _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
