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