64 tileCache->setCostStrategyDisk(
65 getCacheCostStrategy(parameters, cacheDiskCostStrategyParameterName));
66 tryExtractIntParameter(
67 parameters, cacheDiskSizeParameterName,
69 tileCache->setMaxDiskUsage(cacheSize);
72 tileCache->setCostStrategyMemory(
73 getCacheCostStrategy(parameters, cacheMemoryCostStrategyParameterName));
74 tryExtractIntParameter(
75 parameters, cacheMemorySizeParameterName,
77 tileCache->setMaxMemoryUsage(cacheSize);
80 tileCache->setCostStrategyTexture(
81 getCacheCostStrategy(parameters, cacheTextureCostStrategyParameterName));
82 tryExtractIntParameter(
83 parameters, cacheTextureSizeParameterName,
85 tileCache->setExtraTextureUsage(cacheSize);
111 const QVariantMap ¶meters, QGeoServiceProvider::Error *error, QString *errorString)
114 QGeoCameraCapabilities cameraCapabilities;
117 cameraCapabilities.setSupportsBearing(
true);
118 cameraCapabilities.setSupportsTilting(
true);
119 cameraCapabilities.setOverzoomEnabled(
true);
120 setCameraCapabilities(cameraCapabilities);
122 setSupportedMapTypes(
125 QGeoMapType::StreetMap, QStringLiteral(
"ohosmapkit.streets"), tr(
"Street"),
false,
false,
126 mapId, pluginName, cameraCapabilities)
129 const auto scaleFactor = getScaleFactor(parameters);
130 setTileSize(lowDpiTileSize * scaleFactor);
133 makeGeoTileFetcherOhosMapKit(
134 OhosMapKit::getAuthenticationKeyParameterOrEmpty(parameters),
135 OhosMapKit::getUserAgentParameterOrDefault(parameters),
139 makeGeoFileTileCacheOhosMapKit(
141 parameters.contains(cacheDirectoryParameterName)
142 ? parameters.value(cacheDirectoryParameterName).toString()
143 : QAbstractGeoTileCache::baseLocationCacheDirectory() + QLatin1String(pluginName),
146 setTileCache(tileCache);
148 if (parameters.contains(prefetchingStyleParameterName)) {
149 const QString prefetchingMode = parameters.value(prefetchingStyleParameterName).toString();
150 if (prefetchingMode == QStringLiteral(
"TwoNeighbourLayers"))
151 m_prefetchStyle = QGeoTiledMap::PrefetchTwoNeighbourLayers;
152 else if (prefetchingMode == QStringLiteral(
"OneNeighbourLayer"))
153 m_prefetchStyle = QGeoTiledMap::PrefetchNeighbourLayer;
154 else if (prefetchingMode == QStringLiteral(
"NoPrefetching"))
155 m_prefetchStyle = QGeoTiledMap::NoPrefetching;
158 if (error !=
nullptr)
159 *error = QGeoServiceProvider::NoError;
161 if (errorString !=
nullptr)
162 errorString->clear();