Changeset 6505
- Timestamp:
- 03/12/08 12:42:16 (6 months ago)
- Files:
-
- trunk/openlayers/lib/OpenLayers/Style.js (modified) (3 diffs)
- trunk/openlayers/tests/test_Style.html (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/openlayers/lib/OpenLayers/Style.js
r6396 r6505 116 116 */ 117 117 createSymbolizer: function(feature) { 118 var style = OpenLayers.Util.extend({}, this.defaultStyle); 118 var style = this.createLiterals( 119 OpenLayers.Util.extend({}, this.defaultStyle), feature); 119 120 120 121 var rules = this.rules; … … 174 175 var symbolizer = rule.symbolizer[symbolizerPrefix] || rule.symbolizer; 175 176 176 var context = this.context || feature.attributes || feature.data;177 178 177 // merge the style with the current style 179 178 return this.createLiterals( 180 OpenLayers.Util.extend(style, symbolizer), context);179 OpenLayers.Util.extend(style, symbolizer), feature); 181 180 }, 182 181 … … 189 188 * style - {Object} style to create literals for. Will be modified 190 189 * inline. 191 * context - {Object} context to take property values from. Defaults to 192 * feature.attributes (or feature.data, if attributes are not 193 * available) 190 * feature - {Object} 194 191 * 195 192 * Returns: 196 193 * {Object} the modified style 197 194 */ 198 createLiterals: function(style, context) { 195 createLiterals: function(style, feature) { 196 var context = this.context || feature.attributes || feature.data; 197 199 198 for (var i in this.propertyStyles) { 200 199 style[i] = OpenLayers.Style.createLiteral(style[i], context); trunk/openlayers/tests/test_Style.html
r6396 r6505 42 42 minScaleDenominator: 1000000, 43 43 maxScaleDenominator: 2500000}); 44 style.addRules([rule1, rule2, rule3]);45 44 46 45 var feature = new OpenLayers.Feature.Vector( … … 59 58 map.setCenter(new OpenLayers.LonLat(3,5), 10); 60 59 60 var createdStyle = style.createSymbolizer(feature); 61 t.eq(createdStyle.externalGraphic, "barbar.png", "Calculated property style for default symbolizer correctly."); 62 63 style.addRules([rule1, rule2, rule3]); 64 createdStyle = style.createSymbolizer(feature); 65 61 66 // at this scale, the feature should be green 62 var createdStyle = style.createSymbolizer(feature);63 t.eq(createdStyle.externalGraphic, "barbar.png", "Calculated property style correctly.");64 67 t.eq(createdStyle.display, "", "Feature is visible at scale "+map.getScale()); 65 68 t.eq(createdStyle.fillColor, "green", "Point symbolizer from rule applied correctly.");
