I am stuffing a lot of features, each from a different layer, onto exactly the same point, so the visual result is somewhat confusing and it is necessary that some graphics have some offset of constant 10-15 pixels to the left-right-etc. in order to be shown clearly.
Although this is possible by styling, where I use a graphicXOffset or graphicYOffset property, there is the case of the vector graphics features whose centroid is tightly onto the point and do not obey to these properties. I am talking about vector features of OpenLayers.Renderer.Symbol type, which appear like a flag, and the supposed pole is not nailed onto the point, but onto the centroid some pixels downwards, misleading. Of course, in this particular flag I can work things out with markers, but it's useful to know how do it with vector graphics.
I have tried some approaches to deal with this undesirable result, all of which are based on the idea of placing the centroid onto a close point. But all of these approaches have drawbacks or do not work. For example, assigning the feature to nearby coordinates has the side-effect that it distances as I zoom in. I also tried to add a "context" function in the style taking the coordinates of the feature and changing them, but it is not changing. I tried to move the feature at load time and replace it with the use of getViewPortPxFromLatLon, but it won't appear at all.
Are there any suggestions?