Version: unspecified OS: Linux It would be great if Marble could be controlled from the commandline, through DBus or other means. Then one could for instance use Marble to generate animations, periodically produce a world map and publish it on a web server, and so on. In a loop, one could send commands: 1. Load Google KML file 2. Export high resolution PNG file to disk 3. Repeat Reproducible: Didn't try
The KDE version exports a D-Bus interface at org.kde.marble-$pid, where $pid is the PID of the running Marble application. You can use e.g. qdbus org.kde.marble-20432 /MarbleWidget centerOn 8.409 48.9965 to center the map on the given coordinate. Opening of gpx files is possible with a similar function, though addPlacemarkFile (kml loading) does not seem to be exported currently. Exporting of *high resolution* maps is currently not easily doable, although something like [1] is possible as a workaround. Maybe you can give the current D-Bus interface a try and report here what is still missing. [1] http://wiki.openstreetmap.org/wiki/KDE_Marble (Making a very high-res image)
Patch for kml loading is at http://reviewboard.kde.org/r/5691/
SVN commit 1191880 by nienhueser: Deprecate (doxygen only because it is a slot) openGpxFile in favor of addGeoDataFile. Deprecate addPlacemarkFile in favor of addGeoDataFile Deprecate addPlacemarkData in favor of addGeoDataString Deprecate removePlacemarkKey in favor of removeGeoData Make addGeoDataFile, addGeoDataString, removeGeoData slots to be able to call them via DBus. RB: 5691 BUG: 253305 M +1 -1 ControlView.h M +1 -5 MarbleTest.cpp M +1 -9 QtMainWindow.cpp M +1 -1 kdemain.cpp M +18 -4 lib/MarbleMap.cpp M +28 -5 lib/MarbleMap.h M +26 -11 lib/MarbleModel.cpp M +23 -4 lib/MarbleModel.h M +20 -5 lib/MarbleWidget.cpp M +27 -4 lib/MarbleWidget.h M +1 -8 marble_part.cpp M +7 -14 plugins/render/fileview/FileViewFloatItem.cpp M +1 -1 qtmain.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1191880
Please reopen if you need other command line functionality (please describe which).
Thanks a lot!!