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.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support