User:ScotXW/GNOME Maps

GNOME Maps is a graphical front-end for data provided by OpenStreetMap written in JavaScript for the GNOME desktop environment. It was introduced 2013-09-03 with GNOME 3.10 and is under heavy development.

GNOME Maps is free and open-source software subject to the terms of the GNU General Public License version 2 or later.

Software architecture
GNOME Maps is a "simple" application written in JavaScript utilizing Gjs with GObject Introspection, its GUI is written in GtkBuilder. It interfaces with APIs provided by the OSM project to interact with the data provided by them.

Rendering
The rendering is done by ClutterActor (, C library providing ClutterActor to display maps (GObject introspection))

Geolocation
GNOME Maps relies on GeoClue to provide the user with information regarding his current position.

Navigation
As routing strikingly conveys, a number of solutions for navigation have been developed for the OSM data, most of which are being made available under some weak copyleft license.

For GNOME Maps version 3.14 a GSoC student added GUI elements for basic support for route finding (navigation).

E.g. Routino uses a routing algorithm that takes OSM format data as its input and calculates either the shortest or quickest route between two points. Routino is distributed under the Affero General Public License (AGPL) version 3.

OSM-Editing
As of version 3.14 functionality to edit OSM data has not been included into GNOME Maps.

Printing
Printing is done using the back-ends in GTK+?