### Namespace

# Shumate – 1.0

GTK4 widget to display maps

Version | 1.2.1
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

- MapLibre GL JS Compatibility
- Classes Hierarchy

#### Classes

Compass | A widget displaying a compass. since: 1.0
Coordinate | A simple object implementing `ShumateLocation`. since: 1.0
DataSource | The base class used to retrieve tiles as `GBytes`. since: 1.0
DataSourceRequest | Represents a request to a `ShumateDataSource` for a tile. since: 1.1
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. since: 1.0
Layer | Every layer (overlay that moves together with the map) has to inherit this class and implement its virtual methods. since: 1.0
License | A widget that displays license text. since: 1.0
Map | The Map widget is a `GtkWidget` that show and allows interaction with the user. since: 1.0
MapLayer | A `ShumateLayer` implementation that fetches tiles from a `ShumateMapSource` and draws them as a grid. since: 1.0
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. since: 1.0
MapSourceRegistry | This object allows you to hold `ShumateMapSource` instances, you can access a default set of sources with `shumate_map_source_registry_populate_defaults()`. since: 1.0
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. since: 1.0
MarkerLayer | Displays markers on the map. It is responsible for positioning markers correctly, marker selections and group marker operations. since: 1.0
PathLayer | A layer displaying line path between inserted `ShumateLocation` objects. since: 1.0
Point | A simple variant of `ShumateMarker` showing the location of the point as a circle on the map. since: 1.0
RasterRenderer | since: 1.0
Scale | A widget displaying a scale. since: 1.0
SimpleMap | A ready-to-use map `GtkWidget`.If you want to use your own implementation, you can look at the `ShumateMap` widget. since: 1.0
SymbolEvent | An object containing the details of a map feature that has been clicked. It is the argument of the `ShumateMapLayer::symbol-clicked` and `ShumateSimpleMap::symbol-clicked` signals. since: 1.1
Tile | An object that represents map tiles. Tiles are loaded by a `ShumateMapSource`. since: 1.0
TileDownloader | A `ShumateDataSource` that asynchronously downloads tiles from an online service using a given template. since: 1.0
VectorReader | Provides low-level access to the contents of a vector tile. since: 1.2
VectorReaderIter | Reads the layers and features of a vector tile. since: 1.2
VectorRenderer | A `ShumateMapSource` that renders tiles from a given vector data source. since: 1.0
VectorSprite | A sprite used to draw textures or icons. since: 1.1
VectorSpriteSheet | A collection of `ShumateVectorSprite`s. since: 1.1
Viewport | The object holding the coordinate, zoom-level, and rotation state of the current view. since: 1.0

#### Interfaces

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

#### Enumerations

GeometryType | A type of geometry. since: 1.2
MapProjection | Projections supported by the library. since: 1.0
State | Tile loading state. since: 1.0
Unit | Units used by the scale. since: 1.0

#### Error Domains

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

#### Callbacks

VectorSpriteFallbackFunc | A function to generate sprites for a `ShumateVectorSpriteSheet`. since: 1.1

#### Functions

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

#### 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. since: 1.0

#### Constants

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