The extra500 developers just posted a few screen shots of the Avidyne Entegra R9 in "moving map" mode, which demonstrates a few use-cases that we do not currently support in MapStructure (the ND being a different matter for now):
http://wiki.flightgear.org/Extra_EA-500 ... Moving_Map
Specifically, this probably means that we may need to revamp/resurrect symbol controllers and maybe accept an optional callback to pre-/post-transform individual symbols (they're rotated apparently according to runway orientation), and allow them to be overridden when instantiating the layer (i.e. via the ctor if SVG-based). And we may also want to explore SVG styling by patching svg.nas to run a "transform" callback to customize/colorize certain elements of the SVG. The instrument itself is meanwhile making fairly aggressive use of texture-map based caching for basically ALL symbols.
The other thing is that translation (centered/off center mode) should always be based on the parent group's dimensions (bounding box) and that we really shouldn't be using the top-level canvas, because a MFD very well be split into several screen areas (which also applies to the GPSMap196 and most other modern avionics).