Shumate – 1.0
Description: Reference for Shumate-1.0

### Namespace

# Shumate – 1.0

GTK4 widget to display maps

Version | 1.0.3
Authors | libshumate contributors
License | LGPL-2.1-or-later
Website | https://gnome.pages.gitlab.gnome.org/libshumate
Source | https://gitlab.gnome.org/GNOME/libshumate/

#### Build

C headers | `shumate/shumate.h`
pkg-config files | `shumate-1.0`

#### Dependencies

GObject—2.0 | The base type system library
| Browse documentation

#### Additional documentation

- Classes Hierarchy

#### Classes

Compass | A widget displaying a compass.
Coordinate | A simple object implementing `ShumateLocation`.
DataSource | The base class used to retrieve tiles as `GBytes`.
FileCache | A cache that stores and retrieves tiles from the file system. It is mainly used by `ShumateTileDownloader`, but can also be used by custom data sources.
Layer | Every layer (overlay that moves together with the map) has to inherit this class and implement its virtual methods.
License | A widget that displays license text.
Map | The Map widget is a `GtkWidget` that show and allows interaction with the user.
MapLayer | A `ShumateLayer` implementation that fetches tiles from a `ShumateMapSource` and draws them as a grid.
MapSource | The base class for all map sources. Map sources fill `ShumateTile` objects with images from various sources: a web API, for example, or a test pattern generated on demand.
MapSourceRegistry | This object allows you to hold `ShumateMapSource` instances, you can access a default set of sources with `shumate_map_source_registry_populate_defaults()`.
Marker | Markers represent points of interest on a map. Markers need to be placed on a layer (a `ShumateMarkerLayer`). Layers have to be added to a `ShumateMap` for the markers to show on the map.
MarkerLayer | Displays markers on the map. It is responsible for positioning markers correctly, marker selections and group marker operations.
PathLayer | A layer displaying line path between inserted `ShumateLocation` objects.
Point | A simple variant of `ShumateMarker` showing the location of the point as a circle on the map.
RasterRenderer |
Scale | A widget displaying a scale.
SimpleMap | A ready-to-use map `GtkWidget`.If you want to use your own implementation, you can look at the `ShumateMap` widget.
Tile | An object that represents map tiles. Tiles are loaded by a `ShumateMapSource`.
TileDownloader | A `ShumateDataSource` that asynchronously downloads tiles from an online service using a given template.
VectorRenderer | A `ShumateMapSource` that renders tiles from a given vector data source.
Viewport | The object holding the coordinate, zoom-level, and rotation state of the current view.

#### Interfaces

Location | An interface common to objects having latitude and longitude.

#### Enumerations

MapProjection | Projections supported by the library.
State | Tile loading state.
Unit | Units used by the scale.

#### Error Domains

FileCacheError | Error codes in the #SHUMATE_FILE_CACHE_ERROR domain.
StyleError | Error codes that occurs while parsing the style in `ShumateVectorRenderer`.
TileDownloaderError | Error codes in the #SHUMATE_TILE_DOWNLOADER_ERROR domain.

#### Functions

get_user_agent | Gets the user agent libshumate will use for all requests.
set_user_agent | Sets the user agent that libshumate uses for all requests.

#### Function Macros

CHECK_VERSION | Returns `TRUE` if the version of the Shumate header files is the same as or newer than the passed-in version.

#### Constants

MAJOR_VERSION | The major version of libshumate (1, if `SHUMATE_VERSION` is 1.2.3)
MAP_SOURCE_MFF_RELIEF | Maps for Free Relief.
MAP_SOURCE_OSM_CYCLE_MAP | OpenStreetMap Cycle Map.
MAP_SOURCE_OSM_MAPNIK | OpenStreetMap Mapnik.
MAP_SOURCE_OSM_TRANSPORT_MAP | OpenStreetMap Transport Map.
MAP_SOURCE_OWM_CLOUDS | OpenWeatherMap clouds layer.
MAP_SOURCE_OWM_PRECIPITATION | OpenWeatherMap precipitation.
MAP_SOURCE_OWM_PRESSURE | OpenWeatherMap sea level pressure.
MAP_SOURCE_OWM_TEMPERATURE | OpenWeatherMap temperature.
MAP_SOURCE_OWM_WIND | OpenWeatherMap wind.
MAX_LATITUDE | The maximal possible latitude value.
MAX_LONGITUDE | The maximal possible longitude value.
MICRO_VERSION | The micro version of libshumate (3, if `SHUMATE_VERSION` is 1.2.3)
MIN_LATITUDE | The minimal possible latitude value.
MIN_LONGITUDE | The minimal possible longitude value.
MINOR_VERSION | The minor version of libshumate (2, if `SHUMATE_VERSION` is 1.2.3)