Marble is an application that displays a view of the earth. It is both a valuable application in its own right, but also an example program that shows how you can use the Marble widgets in your own applications.

We have designed Marble so that you can use its components easily to enhance your application with geo services. This manual enumerates the components and describes how to use them in your own application.

The Marble application makes use of the following classes and widgets:

  1. MarbleWidget, the main widget in any application using the Marble framework. This widget displays a view of the earth or any other globe, depending on which dataset is used. The user can navigate the globe using either a control widget, e.g. the MarbleNavigator, or the mouse.
  2. MarbleModel, the data storage class that holds the data that is visualized in the MarbleWidget. The MarbleModel is created internally and can be accessed using the model() method.

    This data model contains several separate datatypes, among them: tiles which provide the background map, vectors which provide things like country borders and coastlines and placemarks which can show points of interest, such as cities, mountain tops or the poles.

These two classes provide the core of the classes that comprise the Marble framework. You can use only them and get a very capable application.

In addition to this, there is also a simple control widget called the MarbleNavigator that controls panning and zooming. This control widget can be used in simpler application where theming, searching and other advanced controls are not needed.

To help you get started, we provide small example programs which you can find in the examples/cpp directory of the sources. They are also available online at KDE TechBase.

See also
KDE TechBase: MarbleCPlusPlus