Revision as of 18:13, 10 June 2015 by PGabor (talk | contribs) (Compiling Marble)

Marble logo.png

About Marble

Devices and Use Cases
Marble FAQ

Success Stories: 3rd party applications using the Marble Library

Software that makes use of Marble

Tutorials: How to use the Marble Widget in your application

with Qt Designer
On Windows, with Qt Creator/Qt Designer

With C++


Hello World
Changing basic map properties
Creating a window with controls


Displaying GeoData Documents

Online Services

Creating new Online Services


Basic Routing


Searching for Points of Interest
Reverse Geocoding
Parsing Files


Painting onto the map
Drawing in Custom Layers
Painting LineString

With Python


Installing Marble's Python bindings
Hello World
Changing basic map properties
Creating a window with controls

Loading Files

Loading KML files into Marble
Loading OSM files into Marble


Display GeoData Placemark
Vehicle Tracking


This part of the Python API has not yet been ported and the tutorials could not be completed. see this bug for more info.


Painting onto the map
Drawing in Custom Layers

via a shell script

How to become a Marble developer ("Marblehead")

So you are new to Marble development ...


Here you'll get all the information you need to start Marble development:

How to become a Marble Developer

Compiling Marble

Compiling on Linux
Compiling on Windows
Compiling on Maemo
Compiling on MeeGo
Compiling for Plasma Active
Compiling on Mac OS
Compiling for Android
Setting up QtCreator for Marble Development

Packaging Marble

New Marble Modules (future packaging advice)

Here is some advice about how packaging is supposed to happen on the various platforms that are supported.

Packaging for Linux
Packaging for Windows
Packaging for Maemo
Packaging for MeeGo
Packaging for Mac

Tools for Marble

Here are some tools and checks that are performed on marble code:

Marble Open Bugs
Review Board
API Docs (KDE Trunk)
APIDOX reports
Krazy reports

Programming Coordination

Here are a few links to various issues we are working on:

Marble 2.0
TODO list
Maemo specific TODO list

Google Summer of Code / ESA SoCIS

Gsoc Students projects 2010
Use of git(orious) for GSOC
GSoC Students' projects 2011
ESA SoCIS 2011 ideas
GSoC Students' projects 2012


Map Translation
UI Translation
GeoDataCoordinates Translation

User Interface

Icon Status

Texture Mapping

Texture Mapping

GeoData Library / KML

The base classes to manipulate geographic data

GeoData Presentation
Use cases for GeoData classes
GeoData API Description
Parsing GeoData
Writing GeoData
Pointer vs. Implicit Share

KML Status
GPX Status

Using GeoData:

Placemarks Management
Review of Model-View use in marble

Geo Graphics View

Overview of the GeoGraphicsView
Interaction between GeoData and GeoGraphicsView

GeoPainter / DGML


Plugin Interfaces

Plugin interfaces

Marble Runner

Coordinate Runner
OSM Runner
Runner HOWTO

Online Services

List of possible Online Services


Winkel III
Robinson projection

A little overview of map projections

Tile Download

Vector Tiling Proposal
Tile Download


How to customize maps
How to change the PNT files used by Marble
Marble's Secrets
How to use the Proxy

GeoClue / GPS

GeoClue support in Marble

XDG Base Directory Specification

XDG Base Directory Specification

Mapping Coordination

Possible maps we could use:

Natural Earth Vector Map

A proposal to use the Natural Earth vector map


How to create Historical Maps
How to create Custom Maps
Global Palaeogeography


Implementation of Online-Routing
Installation of Marble and Gosmore on Maemo
Routing Roadmap
Routing Instructions


if you want to fix memory leaks, you can run valgrind with:

valgrind --leak-check=full --track-origins=yes --num-callers=30 marble 2>&1 | tee MARBLE_MEMCHECK


Summaries and logs of scheduled Marble meetings can be found on the following pages:

Wednesday Nov. 10th, 2008
Marble Weekend Sprint, Nov. 5-7

Content is available under Creative Commons License SA 4.0 unless otherwise noted.