fixed use of the "fill" and "stroke" symbolizer properties in Renderer and Format.SLD to match the documentation (i.e. false means to not apply a fill or stroke)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@10430 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2010-06-29 08:21:26 +00:00
parent 0db8f59ae3
commit 2939bad8d0
2 changed files with 15 additions and 17 deletions

View File

@@ -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;