In order to display features such as place marks, images, polygons, textual descriptions and so on, Marble implemented a set of classes, the GeoData ones, with a structure similar to Google’s KML Format. If you look inside Marble Namespace Reference, most of the classes whose names start with GeoData implement some of the above mentioned features: placemarks (specific points on the map, which can contain text tags, icons, pictures, etc.), linestrings (open polygon lines), linear rings (closed polygon lines), documents (the file which contains everything in a KML) and so on.
The GeoPainter allows drawing geometric primitives on the map (lines, polygons, circles, rectangles, text, images). My first task was an accommodation one, creating a tutorial for drawing GeoDataLineStrings using the GeoPainter.
Here is the tutorial, good luck in understanding it 😉