- Qt 5.15
- Qt Location
- Qt Location Mapbox Plugin
- Qt 5.15.8 Reference Documentation

# Qt Location Mapbox Plugin

## Overview

This geo services plugin allows applications to access Mapbox location based services using the Qt Location API. The use of these services is governed by the Mapbox terms of service. An access token is required to use these services. Data is provided by OpenStreetMap and others.

The Mapbox geo services plugin can be loaded by using the plugin key "mapbox".

## Parameters

### Mandatory parameters

The following table lists mandatory parameters that must be passed to the Mapbox plugin.

Parameter | Description
--- | ---
mapbox.access_token | Access token provided by Mapbox.

The Mapbox geo services plugin requires an access token and map ID to use the Mapbox services. To create a Mapbox account visit https://www.mapbox.com/#signup.

### Optional parameters

The following table lists optional parameters that can be passed to the Mapbox plugin.

Parameter | Description
--- | ---
mapbox.enterprise | Boolean representing whether the access token comes from a Mapbox Enterprise account.
mapbox.mapping.map_id, mapbox.map_id (deprecated) | ID of the Mapbox map to show. An example ID is "examples.map-zr0njcqy". If this parameter is present, the specified map type will be used by default, unless another is selected. If not present, the default Mapbox map ID is "mapbox.streets". Note: neither in this parameter nor in mapbox.mapping.additional_map_ids it is allowed to use repeated map_ids. This includes the map_ids bundled in the plugin by default (documented here under Mapbox classic map IDs). Failing to do so will cause tile cache corruption.
mapbox.mapping.additional_map_ids | Additional, comma separated, Mapbox map IDs to be added to the available map types.
mapbox.mapping.format, mapbox.format (deprecated) | Data format to download tiles in, available values are "png", "png32", "png64", "png128", "png256", (PNG with full, 32, 64, 128 and 256 color palette) "jpg70", "jpg80", "jpg90" (JPEG with 70%, 80% and 90% compression). Defaults to "png".
mapbox.mapping.highdpi_tiles | Whether or not to request high dpi tiles. Valid values are true and false. The default value is false.
useragent | User agent string set when making network requests.
mapbox.mapping.cache.directory | Absolute path to map tile cache directory used as network disk cache. The default place for the cache is the `QtLocation/mapbox` subdirectory in the location returned by QStandardPaths::writableLocation(), called with QStandardPaths::GenericCacheLocation as a parameter. On systems that have no concept of a shared cache, the application-specific QStandardPaths::CacheLocation is used instead.
mapbox.mapping.cache.disk.cost_strategy | The cost strategy to use to cache map tiles on disk. Valid values are bytesize and unitary. Using bytesize, the related size parameter (mapbox.mapping.cache.disk.size) will be interpreted as bytes. Using unitary, they will be interpreted as number of tiles. The default value for this parameter is unitary.
mapbox.mapping.cache.disk.size | Disk cache size for map tiles. The default size of this cache is 6000 if unitary is used as cost strategy, or 50 MiB, if bytesize is used as cost strategy. Note that 6000 is the maximum amount of tiles that the Mapbox free plan allows to cache. Make sure to comply with Mapbox Terms of Service before increasing this value.
mapbox.mapping.cache.memory.cost_strategy | The cost strategy to use to cache map tiles in memory. Valid values are bytesize and unitary. Using bytesize, the related size parameter (mapbox.mapping.cache.memory.size) will be interpreted as bytes. Using unitary, they will be interpreted as number of tiles. The default value for this parameter is bytesize.
mapbox.mapping.cache.memory.size | Memory cache size for map tiles. The Default size of this cache is 100 if unitary is used as cost strategy, or 3 MiB, if bytesize is used as cost strategy.
mapbox.mapping.cache.texture.cost_strategy | The cost strategy to use to cache decompressed map tiles in memory. Valid values are bytesize and unitary. Using bytesize, the related size parameter (mapbox.mapping.cache.texture.size) will be interpreted as bytes. Using unitary, they will be interpreted as number of tiles. The default value for this parameter is bytesize.
mapbox.mapping.cache.texture.size | Texture cache size for map tiles. The Default size of this cache is 30 if unitary is used as cost strategy, or 6 MiB, if bytesize is used as cost strategy. Note that the texture cache has a hard minimum size which depends on the size of the map viewport (it must contain enough data to display the tiles currently visible on the display). This value is the amount of tiles to be cached in addition to the bare minimum.
mapbox.mapping.prefetching_style | This parameter allows to provide a hint how tile prefetching is to be performed by the engine. The default value, `TwoNeighbourLayers`, makes the engine prefetch tiles for the layer above and the one below the current tile layer, providing ready tiles when zooming in or out from the current zoom level. `OneNeighbourLayer` only prefetches the one layer closest to the current zoom level. Finally, `NoPrefetching` allows to disable the prefetching, so only tiles that are visible will be fetched. Note that, depending on the active map type, this hint might be ignored.
mapbox.routing.use_mapbox_text_instructions | Whether to use the instruction text that came with the response from the server (true) or the text generated by the plugin. The default value is true. Note that if instructions in a language that is not directly supported by Mapbox are needed (see here for the supported languages), it is possible to use the Qt Linguist to translate QtLocation to the desired language, and set this parameter to false in order to use the translated built-in instructions.

## Extra routing attributes

When using this plugin, the RouteManeuver objects in the returned route may contain additional extended attributes (see RouteManeuver::extendedAttributes), where available. These attributes are described in detail in the official Mapbox direction API documentation.