The relevant class diagram can be found below.

If your mnRute class extends MapCanvas, you don't need to instantiate your own instance of

MapCanvas mapCanvas;
MapDisplay mapDisplay;
The subclass can access those already found in the MapCanvas class.
  • All instances of mapCanvas.addCommand() can be replaced with addCommand() and so on.
  • All instances of mapDisplay.addMapObject() can be replaced with getDisplay().addMapObject() and so on.

I suspect the code as currently written is displaying the MapDisplay contained in the base class whereas you are attaching objects to your own private instance of MapDisplay which is not current

For a fully working 1.0 example check out the code commentary at:

Or the article at: