OpenLayers OpenLayers

Ticket #893: externalGraphicOffset.code.patch

File externalGraphicOffset.code.patch, 2.3 kB (added by fredj, 1 year ago)

Renderer/VML.js Renderer/SVG.js patch

  • lib/OpenLayers/Renderer/VML.js

    old new  
    182182                width = width ? width : style.pointRadius*2; 
    183183                height = height ? height : style.pointRadius*2; 
    184184                var resolution = this.getResolution(); 
    185                 node.style.left = (geometry.x/resolution-.5*width).toFixed(); 
    186                 node.style.top = (geometry.y/resolution-.5*height).toFixed(); 
     185 
     186                var xOffset = (style.graphicXOffset != undefined ?  
     187                                   style.graphicXOffset : (0.5*width)).toFixed(); 
     188                var yOffset = (style.graphicYOffset != undefined ?  
     189                                   style.graphicYOffset : (0.5*height)).toFixed(); 
     190 
     191                node.style.left = (geometry.x/resolution-xOffset).toFixed(); 
     192                node.style.top = (geometry.y/resolution-yOffset).toFixed(); 
    187193                node.style.width = width; 
    188194                node.style.height = height;     
    189195                 
  • lib/OpenLayers/Renderer/SVG.js

    old new  
    206206                var height = style.graphicHeight || style.graphicWidth; 
    207207                width = width ? width : style.pointRadius*2; 
    208208                height = height ? height : style.pointRadius*2; 
    209                  
    210                 node.setAttributeNS(null, "x", x-(.5*width).toFixed()); 
    211                 node.setAttributeNS(null, "y", -y-(.5*height).toFixed()); 
     209 
     210                var xOffset = (style.graphicXOffset != undefined ?  
     211                                   style.graphicXOffset : (0.5*width)).toFixed(); 
     212                var yOffset = (style.graphicYOffset != undefined ?  
     213                                   style.graphicYOffset : (0.5*height)).toFixed(); 
     214 
     215                node.setAttributeNS(null, "x", x-xOffset); 
     216                node.setAttributeNS(null, "y", -y-yOffset); 
    212217                node.setAttributeNS(null, "width", width); 
    213218                node.setAttributeNS(null, "height", height); 
    214219                node.setAttributeNS("http://www.w3.org/1999/xlink", "href", style.externalGraphic);