Marble/MarbleCPlusPlus: Difference between revisions
Appearance
< Marble
Earthwings (talk | contribs) New page: == Hello Marble! == The Marble API allows a very easy integration of a map widget in your application. Let's prove that with a tiny "Hello world"-like example: #include <QtGui/QApplicati... |
No edit summary |
||
Line 4: | Line 4: | ||
#include <QtGui/QApplication> | #include <QtGui/QApplication> | ||
#include <marble/MarbleWidget.h> | #include <marble/MarbleWidget.h> | ||
using namespace Marble; | |||
int main(int argc, char** argv) | int main(int argc, char** argv) |
Revision as of 12:51, 28 January 2009
Hello Marble!
The Marble API allows a very easy integration of a map widget in your application. Let's prove that with a tiny "Hello world"-like example:
#include <QtGui/QApplication> #include <marble/MarbleWidget.h>
using namespace Marble;
int main(int argc, char** argv) { QApplication app(argc,argv); // Create a Marble QWidget without a parent MarbleWidget *map = new MarbleWidget(); // Load the OpenStreetMap map map->setMapThemeId("earth/openstreetmap/openstreetmap.dgml"); // Set a server for downloading map data, if needed map->setDownloadUrl("http://download.kde.org/apps/marble/"); map->show(); return app.exec(); }
Save the code above as my_marble.cpp and compile it:
g++ -I /usr/include/qt4/ -o my_marble my_marble.cpp -lmarblewidget -lQtGui
If things go fine, execute ./my_marble and you end up with a fully usable OpenStreetMap application:
Here's a little checklist to tackle some problems that might arise when compiling the code above:
- You need Qt and Marble development packages (or comparable SVN installations)
- If you're running Marble from SVN, add the Marble:: prefix to the MarbleWidget above. The Marble namespace was added some time ago.
- If Qt headers are not installed in /usr/include/qt4 on your system, change the path in the g++ call above accordingly.
- Likewise, add -I /path/to/marble/headers if they're not to be found in /usr/include