1// Copyright (C) 2013-2018 Esri <contracts@esri.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
6\page location-plugin-esri.html
7\title Qt Location Esri Plugin
8\ingroup QtLocation-plugins
10\brief Uses Esri for location services.
14This geo services plugin allows applications to access
15\l {http://www.esri.com}{Esri} location based services using the Qt Location API.
16The use of these services is governed by the \l {http://www.esri.com/legal/terms-use}{Esri terms of use}.
18Data is provided by \l {http://www.esri.com/data/find-data}{many different content providers}.
20The Esri geoservices plugin can be loaded by using the plugin key "esri".
22You can use the services provided by Esri's ArcGIS Platform by subscribing to the ArcGIS Developer Program, at no charge. See the "Essentials" plan details here: {https://developers.arcgis.com/pricing/}{ArcGIS Developer Program Pricing}.
24The Developer subscription offers a free-of-charge option for developing and testing your applications.
25With this, your applications can go to production under the following conditions:
28 \li The app can request up to one million maps per month.
29 \li 50 credits are included with the Developer subscription. The costs are 40 credits for 1000 geocodes, and 0.5 credits per route generated. Place searches are free.
30 \li The app does not directly generate revenue. That is, end users must be able to obtain it and to use it for free.
33If the above conditions cannot be met, the ArcGIS Online subscription is the correct choice, as it
34gives applications full access to the ArcGIS platform.
38\section2 Mandatory parameters
46 \li Security token for using routing services only. Mapping, geocoding and place searches services do not require a token.
49To use the routing services hosted on ArcGIS Online with the Esri plugin, a token is required.
50You can \l{https://developers.arcgis.com/authentication/accessing-arcgis-online-services/#registering-your-application}{obtain a token for testing purposes},
51or you can sign up for an \l {http://www.arcgis.com/features/plans/pricing.html}{ArcGIS Online subscription}.
53\section2 Optional parameters
61 \li User agent string sent when making network requests
63 \li esri.mapping.minimumZoomLevel
64 \li The minimum zoom level [double] at which the map is displayed
66 \li esri.mapping.maximumZoomLevel
67 \li The maximum level [double] at which the map is displayed
69 \li esri.mapping.cache.directory
70 \li Absolute path to map tile cache directory used as network disk cache.
72 The default place for the cache is the \c{QtLocation/esri} subdirectory in the location returned by
73 QStandardPaths::writableLocation(), called with QStandardPaths::GenericCacheLocation as a parameter.
74 On systems that have no concept of a shared cache, the application-specific \l{QStandardPaths::CacheLocation} is used instead.
76 \li esri.mapping.cache.disk.cost_strategy
77 \li The cost strategy to use to cache map tiles on disk.
78 Valid values are \b bytesize and \b unitary.
79 Using \b bytesize, the related size parameter (\b esri.mapping.cache.disk.size) will
80 be interpreted as bytes.
81 Using \b unitary, they will be interpreted as number of tiles.
82 The default value for this parameter is \b bytesize.
84 \li esri.mapping.cache.disk.size
85 \li Disk cache size for map tiles. The default size of the cache is 50 MiB when \b bytesize is the cost
86 strategy for this cache, or 1000 tiles, when \b unitary is the cost strategy.
88 \li esri.mapping.cache.memory.cost_strategy
89 \li The cost strategy to use to cache map tiles in memory.
90 Valid values are \b bytesize and \b unitary.
91 Using \b bytesize, the related size parameter (\b esri.mapping.cache.memory.size) will
92 be interpreted as bytes.
93 Using \b unitary, they will be interpreted as number of tiles.
94 The default value for this parameter is \b bytesize.
96 \li esri.mapping.cache.memory.size
97 \li Memory cache size for map tiles. The default size of the cache is 3 MiB when \b bytesize is the cost
98 strategy for this cache, or 100 tiles, when \b unitary is the cost strategy.
100 \li esri.mapping.cache.texture.cost_strategy
101 \li The cost strategy to use to cache decompressed map tiles in memory.
102 Valid values are \b bytesize and \b unitary.
103 Using \b bytesize, the related size parameter (\b esri.mapping.cache.texture.size) will
104 be interpreted as bytes.
105 Using \b unitary, they will be interpreted as number of tiles.
106 The default value for this parameter is \b bytesize.
108 \li esri.mapping.cache.texture.size
109 \li Texture cache size for map tiles. The default size of the cache is 6 MiB when \b bytesize is the cost
110 strategy for this cache, or 30 tiles, when \b unitary is the cost strategy.
111 Note that the texture cache has a hard minimum size which depends on the size of the map viewport
112 (it must contain enough data to display the tiles currently visible on the display).
113 This value is the amount of cache to be used in addition to the bare minimum.
115 \li esri.mapping.prefetching_style
116 \li This parameter allows to provide a hint how tile prefetching is to be performed by the engine. The default value,
117 \tt{TwoNeighbourLayers}, makes the engine prefetch tiles for the layer above and the one below the current tile
118 layer, providing ready tiles when zooming in or out from the current zoom level.
119 \tt{OneNeighbourLayer} only prefetches the one layer closest to the current zoom level.
120 Finally, \tt{NoPrefetching} allows to disable the prefetching, so only tiles that are visible will be fetched.
121 Note that, depending on the active map type, this hint might be ignored.
124\section2 Directions language
126The service supports generating directions in the following languages:
134 \li Generate directions in Arabic
137 \li Generate directions in Czech
140 \li Generate directions in German
143 \li Generate directions in Greek
146 \li (default) Generate directions in English
149 \li Generate directions in Spanish
152 \li Generate directions in Estonian
155 \li Generate directions in French
158 \li Generate directions in Hebrew
161 \li Generate directions in Italian
164 \li Generate directions in Japanese
167 \li Generate directions in Korean
170 \li Generate directions in Lithuanian
173 \li Generate directions in Latvian
176 \li Generate directions in Dutch
179 \li Generate directions in Polish
182 \li Generate directions in Brazilian Portuguese
185 \li Generate directions in Portuguese (Portugal)
188 \li Generate directions in Russian
191 \li Generate directions in Swedish
194 \li Generate directions in Turkish
197 \li Simplified Chinese
200If only unsupported language codes are specified via the \l{http://doc.qt.io/qt-5/qml-qtlocation-plugin.html#locales-prop}
201{locales} property, the service returns the directions using the default language, English.
203\section2 Directions length units
205QLocale::MetricSystem (default) use meters, other values (QLocale::ImperialUSSystem, QLocale::ImperialUSSystem) use feet.