OpenLayers OpenLayers

Ticket #1542: ticket1542.patch

File ticket1542.patch, 2.4 kB (added by bartvde, 7 months ago)

patch implementing write support for TextSymbolizer

  • lib/OpenLayers/Format/SLD/v1.js

    old new  
    418418        "stroke-width": "strokeWidth", 
    419419        "stroke-linecap": "strokeLinecap", 
    420420        "fill": "fillColor", 
    421         "fill-opacity": "fillOpacity" 
     421        "fill-opacity": "fillOpacity", 
     422        "font-family": "fontFamily", 
     423        "font-size": "fontSize" 
    422424    }, 
    423425     
    424426    /** 
     
    725727                    value: obj.symbolizer[obj.key] 
    726728                }); 
    727729            }, 
     730            "TextSymbolizer": function(symbolizer) { 
     731                var node = this.createElementNSPlus("TextSymbolizer"); 
     732                this.writeNode(node, "Label", symbolizer); 
     733                this.writeNode(node, "Font", symbolizer); 
     734                this.writeNode(node, "Fill", symbolizer); 
     735                return node; 
     736            }, 
     737            "Font": function(symbolizer) { 
     738                var node = this.createElementNSPlus("Font"); 
     739                // add in CssParameters 
     740                if(symbolizer.fontFamily) { 
     741                    this.writeNode( 
     742                        node, "CssParameter", 
     743                        {symbolizer: symbolizer, key: "fontFamily"} 
     744                    ); 
     745                } 
     746                if(symbolizer.fontSize) { 
     747                    this.writeNode( 
     748                        node, "CssParameter", 
     749                        {symbolizer: symbolizer, key: "fontSize"} 
     750                    ); 
     751                } 
     752                return node; 
     753            }, 
     754            "Label": function(symbolizer) { 
     755                var node = this.createElementNSPlus("Label"); 
     756                this.writeNode(node, "ogc:PropertyName", symbolizer); 
     757                return node; 
     758                 
     759            }, 
    728760            "PolygonSymbolizer": function(symbolizer) { 
    729761                var node = this.createElementNSPlus("PolygonSymbolizer"); 
    730762                this.writeNode(node, "Fill", symbolizer);