WhiteTileEngine::WhiteTileEngine(const QMap<QString, QVariant> ¶meters, QObject *parent) : QGeoTiledMappingManagerEngine(parameters, parent) { setTileSize(QSize(128,128)); setMinimumZoomLevel(0.0); setMaximumZoomLevel(3.0); QList<QGraphicsGeoMap::MapType> types; types << QGraphicsGeoMap::StreetMap; types << QGraphicsGeoMap::TerrainMap; setSupportedMapTypes(types); QList<QGraphicsGeoMap::ConnectivityMode> modes; modes << QGraphicsGeoMap::OfflineMode; setSupportedConnectivityModes(modes); }
QGeoMappingManagerEngineGoogle::QGeoMappingManagerEngineGoogle(const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) : QGeoTiledMappingManagerEngine(parameters), m_parameters(parameters), m_nam(NULL) { QNetworkDiskCache *cache = NULL; Q_UNUSED(error) Q_UNUSED(errorString) setTileSize(QSize(256, 256)); setMinimumZoomLevel(0.0); setMaximumZoomLevel(17.0); QList<QGraphicsGeoMap::MapType> types; types << QGraphicsGeoMap::StreetMap; types << QGraphicsGeoMap::SatelliteMapDay; setSupportedMapTypes(types); QList<QGraphicsGeoMap::ConnectivityMode> modes; modes << QGraphicsGeoMap::OnlineMode; setSupportedConnectivityModes(modes); QList<QString> keys = m_parameters.keys(); if (keys.contains("mapping.networkaccessmanager")) { QNetworkAccessManager *nam; nam = (QNetworkAccessManager *)m_parameters .value("mapping.networkaccessmanager").value<void *>(); if (nam) m_nam = nam; } if (!m_nam) { m_nam = new QNetworkAccessManager(this); cache = new QNetworkDiskCache(this); } if (cache) { QDir dir = QDir::temp(); dir.mkdir("maptiles-google"); dir.cd("maptiles-google"); cache->setCacheDirectory(dir.path()); } if (keys.contains("mapping.proxy")) { QString proxy = m_parameters.value("mapping.proxy").toString(); if (!proxy.isEmpty()) m_nam->setProxy(parseProxy(proxy)); } if (cache && keys.contains("mapping.cache.directory")) { QString cacheDir = m_parameters.value("mapping.cache.directory").toString(); if (!cacheDir.isEmpty()) cache->setCacheDirectory(cacheDir); } if (cache && keys.contains("mapping.cache.size")) { bool ok = false; qint64 cacheSize = m_parameters.value("mapping.cache.size").toString().toLongLong(&ok); if (ok) cache->setMaximumCacheSize(cacheSize); } if (cache) m_nam->setCache(cache); }