When rendering Scalable Vector Graphics (SVG) images to a javax.microedition.lcdui.Displayable object or one of its subtypes such as a Canvas or a Screen, the top-left anchor is changed with every call to javax.microedition.m2g.ScalableGraphics.render
When you call javax.microedition.m2g.ScalableGraphics.render.(x,y,svgimage) any subsequent calls to the render method are drawn in relation to the (x,y) that you set in the previous render call. Specifically the new anchor is the bottom-right corner of the previous SVG image rendered.
To work around this issue, you must know the previous render call x and y values and offset any subsequent SVG image renders based on those values. The following is an example:
Render image1 at (0,0)Render image2 at (200,200)Render image3 at (100,100) [Actual render call will be with (-100,-100) to offset the previous render call.]
The following is example code for rendering SVG images to the canvas taking this issue into consideration.