Qt Location Esri Plugin

Overview

This geo services plugin allows applications to access Esri location based services using the Qt Location API. The use of these services is governed by the Esri terms of use.

Data is provided by many different content providers.

The Esri geoservices plugin can be loaded by using the plugin key "esri".

To use the services provided by the Esri platform, a subscription is required. There are two kinds of subscriptions:

The Developer subscription offers a free-of-charge option for developing and testing your applications. With this, your applications can go to production under the following conditions:

  • The app can request up to one million maps per month, and one million geocodes per month.
  • The app does not directly generate revenue. That is, end users must be able to obtain it and to use it for free.

If the above conditions cannot be met, the ArcGIS Online subscription is the correct choice, as it gives applications full access to the ArcGIS platform.

Parameters

Mandatory parameters

Parameter Description
esri.token Security token for using routing services only. Mapping and geocoding services do not require a token.

To use the routing services hosted on ArcGIS Online with the Esri plugin, a token is required. You can obtain a token for testing purposes, or you can sign up for an ArcGIS Online subscription.

Optional parameters

Parameter Description
esri.useragent User agent string sent when making network requests
esri.mapping.minimumZoomLevel The minimum zoom level [double] at which the map is displayed
esri.mapping.maximumZoomLevel The maximum level [double] at which the map is displayed
esri.mapping.cache.directory Absolute path to map tile cache directory used as network disk cache.

The default place for the cache is the QtLocation/esri 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.

esri.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 (esri.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 bytesize.
esri.mapping.cache.disk.size Disk cache size for map tiles. The default size of the cache is 50 MiB when bytesize is the cost strategy for this cache, or 1000 tiles, when unitary is the cost strategy.
esri.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 (esri.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.
esri.mapping.cache.memory.size Memory cache size for map tiles. The default size of the cache is 3 MiB when bytesize is the cost strategy for this cache, or 100 tiles, when unitary is the cost strategy.
esri.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 (esri.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.
esri.mapping.cache.texture.size Texture cache size for map tiles. The default size of the cache is 6 MiB when bytesize is the cost strategy for this cache, or 30 tiles, when unitary is the 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 cache to be used in addition to the bare minimum.
esri.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.

Directions language

The service supports generating directions in the following languages:

Language Description
ar Generate directions in Arabic
cs Generate directions in Czech
de Generate directions in German
el Generate directions in Greek
en (default) Generate directions in English
es Generate directions in Spanish
et Generate directions in Estonian
fr Generate directions in French
he Generate directions in Hebrew
it Generate directions in Italian
ja Generate directions in Japanese
ko Generate directions in Korean
lt Generate directions in Lithuanian
lv Generate directions in Latvian
nl Generate directions in Dutch
pl Generate directions in Polish
pt-BR Generate directions in Brazilian Portuguese
pt-PT Generate directions in Portuguese (Portugal)
ru Generate directions in Russian
sv Generate directions in Swedish
tr Generate directions in Turkish
zh-CN Simplified Chinese

If only unsupported language codes are specified via the locales property, the service returns the directions using the default language, English.

Directions length units

QLocale::MetricSystem (default) use meters, other values (QLocale::ImperialUSSystem, QLocale::ImperialUSSystem) use feet.

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