Dakons blog

Erstellt: 3. 10. 2014, 14:55
GeƤndert: 3. 10. 2014, 15:01

Marvelous Marble


OSMhyd showing hydrants in Wennigsen (Deister) I'm one of those persons that always prefers a native application over some web stuff. Usually this comes from some things I want to have, may it be speed, offline capabilities or just hacking possibility. So as a long-time user and contributor of OpenStreetMap as well as an active firefighter I of course know about OpenFireMap. And of course I want a local version of it.

Well, the way to go is obvious for a KDE hacker, no? Right, using Marble, or better: using libmarble as explained in the KDE Techbase. So, what did I end up with? A small pure-Qt application that uses libmarble to display OpenStreetMap tiles, showing some custom placemarks. Those placemarks are collected directly from the OpenStreetMap (online) database using the Overpass API. Then a bit of brute-force XML parsing using QXmlStreamReader and then: pure awesomeness.

This currently is based on Qt4, therefore I use XML and parse it brute-force. Eventually I'll switch to a Qt5-based libmarble, and will use the builtin JSON-support of Qt5. And maybe one day I'll finally find an example on how to draw different graphics for different types of placemarks.

Of course, this is not entirely local. But the information about the extra placemarks can easily be saved locally and restored from there (in fact, that is what the first versions did before I starte using QNetworkAccessManager), and Marble caches the tiles so it will sort-of work even offline. And of course the source code is available for everyone to hack around with it: OSMhyd version 1.