diff --git a/lib/OpenLayers/Format/SLD/v1.js b/lib/OpenLayers/Format/SLD/v1.js index 8c2152d1fb..78b8a066e7 100644 --- a/lib/OpenLayers/Format/SLD/v1.js +++ b/lib/OpenLayers/Format/SLD/v1.js @@ -244,14 +244,21 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, { }, "PolygonSymbolizer": function(node, rule) { // OpenLayers doens't do painter's order, instead we extend - var symbolizer = rule.symbolizer["Polygon"] || {}; + var symbolizer = rule.symbolizer["Polygon"] || { + fill: false, + stroke: false + }; this.readChildNodes(node, symbolizer); // in case it didn't exist before rule.symbolizer["Polygon"] = symbolizer; }, "PointSymbolizer": function(node, rule) { // OpenLayers doens't do painter's order, instead we extend - var symbolizer = rule.symbolizer["Point"] || {}; + var symbolizer = rule.symbolizer["Point"] || { + fill: false, + stroke: false, + graphic: false + }; this.readChildNodes(node, symbolizer); // in case it didn't exist before rule.symbolizer["Point"] = symbolizer; @@ -283,8 +290,8 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, { this.readChildNodes(node, graphic); // directly properties with names that match symbolizer properties var properties = [ - "strokeColor", "strokeWidth", "strokeOpacity", - "strokeLinecap", "fillColor", "fillOpacity", + "stroke", "strokeColor", "strokeWidth", "strokeOpacity", + "strokeLinecap", "fill", "fillColor", "fillOpacity", "graphicName", "rotation", "graphicFormat" ]; var prop, value; @@ -849,14 +856,10 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, { }, "PolygonSymbolizer": function(symbolizer) { var node = this.createElementNSPlus("sld:PolygonSymbolizer"); - if(symbolizer.fillColor != undefined || - symbolizer.fillOpacity != undefined) { + if(symbolizer.fill !== false) { this.writeNode("Fill", symbolizer, node); } - if(symbolizer.strokeWidth != undefined || - symbolizer.strokeColor != undefined || - symbolizer.strokeOpacity != undefined || - symbolizer.strokeDashstyle != undefined) { + if(symbolizer.stroke !== false) { this.writeNode("Stroke", symbolizer, node); } return node; diff --git a/lib/OpenLayers/Renderer.js b/lib/OpenLayers/Renderer.js index ecc611b0ee..90031d5815 100644 --- a/lib/OpenLayers/Renderer.js +++ b/lib/OpenLayers/Renderer.js @@ -316,16 +316,11 @@ OpenLayers.Renderer = OpenLayers.Class({ applyDefaultSymbolizer: function(symbolizer) { var result = OpenLayers.Util.extend({}, OpenLayers.Renderer.defaultSymbolizer); - if(symbolizer.stroke !== true && - symbolizer.strokeWidth === undefined && - symbolizer.strokeColor === undefined && - symbolizer.strokeOpacity === undefined) { + if(symbolizer.stroke === false) { delete result.strokeWidth; delete result.strokeColor; } - if(symbolizer.fill !== true && - symbolizer.fillColor === undefined && - symbolizer.fillOpacity === undefined) { + if(symbolizer.fill === false) { delete result.fillColor; } OpenLayers.Util.extend(result, symbolizer);