Mapness is an open source (LGPL) Gtk+3.0 widget for displaying maps (google, bing, open street maps). It is written in Vala and has bindings for C, Python and GJS (gnome javascript).

mapness python demo
Mapness demo. This demo is written in Python running on Windows 10 with MSYS2, using GIR bindings.

A while ago, I was using osm-gps-map inside Gtkmm/C++ applications. That worked fine. After discovering Vala, I found osm-gps-map a bit clunky to use because the generated .vapi files were never quite right and needed to be hand tweaked. Adding new features to osm-gps-map is tedious too.

Imagine getting chauffeured to work every day in a luxury car. It’s easy to get used to. Then one day your chauffeur quits and takes the car with him. All you’ve got is a push bike. And you need to get to places. That is exactly how it feels to transition from coding in Vala to coding in C. Pure frustration, not that there is anything wrong with bikes!

That is why I decided to start mapness. Vala, IMO, is the best language for the job. It generates clean bindings for C, Python and other languages, and it’s going to be easier to maintain and develop further in the future. Please give it a try and if you find a bug or want to contribute some code, just get on github!

Leave a Reply

Your email address will not be published. Required fields are marked *