[OpenLayers-Dev] vector drawFeature bug or by design?

Paul Spencer pspencer at dmsolutions.ca
Wed Jun 17 10:33:11 EDT 2009

I have a question about Layer.Vector.drawFeature when passing a  
style ...

I used this method to update the label of a point with an existing  
style (set directly on the feature) as the measure tool moved by  
calling this.handler.layer.drawFeature(text, {label: newDistance})  
which worked perfectly until the user zoomed using the mouse wheel  
while measuring.  I've since changed this to set text.style.label =  
newDistance; this.handler.layer.drawFeature(text); which works fine.

But this led me to question whether this is by design or a bug.

The relevant docs are:

      * APIMethod: drawFeature
      * Draw (or redraw) a feature on the layer.  If the optional  
style argument
      * is included, this style will be used.  If no style is  
included, the
      * feature's style will be used.  If the feature doesn't have a  
      * the layer's style will be used.
      * This function is not designed to be used when adding features to
      * the layer (use addFeatures instead). It is meant to be used when
      * the style of a feature has changed, or in some other way needs  
      * visually updated *after* it has already been added to a layer.  
      * must add the feature to the layer for most layer-related  
events to
      * happen.
      * Parameters:
      * feature - {<OpenLayers.Feature.Vector>}
      * style - {Object} Symbolizer hash or {String} renderIntent

I think if it is design that the feature's style is not updated with  
the passed in style then the docs should be updated to indicate this.   
I can create a ticket for this with a stripped down example if the  
consensus is that it should update the style.  I may even be able to  
provide a patch ...


    Paul Spencer
    Chief Technology Officer
    DM Solutions Group Inc

More information about the Dev mailing list