Commit 50650e7d authored by dogmaphobic's avatar dogmaphobic

Fixed QtLocation Caching

Updated Google Maps API Version
Updated User Agent used for map tile requests
parent 837de8bb
...@@ -48,10 +48,10 @@ const QString ProviderStrings::kLevelsForSigPacSpainMap[] = ...@@ -48,10 +48,10 @@ const QString ProviderStrings::kLevelsForSigPacSpainMap[] =
ProviderStrings::ProviderStrings() ProviderStrings::ProviderStrings()
{ {
// Google version strings // Google version strings
VersionGoogleMap = "m@296306248"; VersionGoogleMap = "m@313";
VersionGoogleSatellite = "s@168"; VersionGoogleSatellite = "s@177";
VersionGoogleLabels = "h@296000000"; VersionGoogleLabels = "h@313";
VersionGoogleTerrain = "t@132,r@296000000"; VersionGoogleTerrain = "t@132,r@313";
SecGoogleWord = "Galileo"; SecGoogleWord = "Galileo";
// Google (China) version strings // Google (China) version strings
...@@ -196,7 +196,13 @@ void UrlFactory::_tryCorrectGoogleVersions() ...@@ -196,7 +196,13 @@ void UrlFactory::_tryCorrectGoogleVersions()
_network->setProxy(tProxy); _network->setProxy(tProxy);
QString url = "http://maps.google.com/maps?output=classic"; QString url = "http://maps.google.com/maps?output=classic";
qheader.setUrl(QUrl(url)); qheader.setUrl(QUrl(url));
#if defined Q_OS_MACX
QByteArray userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0";
#elif defined Q_OS_WIN32
QByteArray userAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7"; QByteArray userAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7";
#else
QByteArray userAgent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20130331 Firefox/21.0";
#endif
qheader.setRawHeader("User-Agent", userAgent); qheader.setRawHeader("User-Agent", userAgent);
_googleReply = _network->get(qheader); _googleReply = _network->get(qheader);
connect(_googleReply, SIGNAL(finished()), this, SLOT(_googleVersionCompleted())); connect(_googleReply, SIGNAL(finished()), this, SLOT(_googleVersionCompleted()));
......
...@@ -95,13 +95,11 @@ void QGeoMapReplyQGC::networkReplyFinished() ...@@ -95,13 +95,11 @@ void QGeoMapReplyQGC::networkReplyFinished()
{ {
if (!m_reply) if (!m_reply)
{ {
qWarning() << "NULL Map request reply";
return; return;
} }
if (m_reply->error() != QNetworkReply::NoError) if (m_reply->error() != QNetworkReply::NoError)
{ {
qWarning() << "Map request reply error:" << m_reply->error();
return; return;
} }
...@@ -146,14 +144,12 @@ void QGeoMapReplyQGC::networkReplyError(QNetworkReply::NetworkError error) ...@@ -146,14 +144,12 @@ void QGeoMapReplyQGC::networkReplyError(QNetworkReply::NetworkError error)
{ {
if (!m_reply) if (!m_reply)
{ {
qWarning() << "NULL Map request error";
return; return;
} }
if (error != QNetworkReply::OperationCanceledError) if (error != QNetworkReply::OperationCanceledError)
{ {
setError(QGeoTiledMapReply::CommunicationError, m_reply->errorString()); setError(QGeoTiledMapReply::CommunicationError, m_reply->errorString());
qWarning() << "Map request reply error:" << m_reply->errorString();
} }
setFinished(true); setFinished(true);
......
...@@ -121,45 +121,44 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian ...@@ -121,45 +121,44 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
// qDebug() << "Mapping cache directory:" << cacheDir; // qDebug() << "Mapping cache directory:" << cacheDir;
//} //}
QGeoTileCache *tileCache = createTileCacheWithDir(cacheDir); QGeoTileCache* pTileCache = tileCache();
if(pTileCache)
int cacheLimit = 0; {
if (parameters.contains(QStringLiteral("mapping.cache.disk.size"))) { int cacheLimit = 0;
bool ok = false; //-- Disk Cache
cacheLimit = parameters.value(QStringLiteral("mapping.cache.disk.size")).toString().toInt(&ok); if (parameters.contains(QStringLiteral("mapping.cache.disk.size"))) {
if (!ok) bool ok = false;
cacheLimit = 0; cacheLimit = parameters.value(QStringLiteral("mapping.cache.disk.size")).toString().toInt(&ok);
} if (!ok)
if(!cacheLimit) cacheLimit = 0;
// QGC Default }
cacheLimit = 1024 * 1024 * 1024; if(!cacheLimit)
tileCache->setMaxDiskUsage(cacheLimit); {
//qDebug() << "Disk caching limit:" << cacheLimit; #ifdef __mobile__
cacheLimit = 128 * 1024 * 1024;
cacheLimit = 0; #else
if (parameters.contains(QStringLiteral("mapping.cache.memory.size"))) { cacheLimit = 1024 * 1024 * 1024;
bool ok = false; #endif
cacheLimit = parameters.value(QStringLiteral("mapping.cache.memory.size")).toString().toInt(&ok); }
if (!ok) pTileCache->setMaxDiskUsage(cacheLimit);
cacheLimit = 0; //-- Memory Cache
} cacheLimit = 0;
if(!cacheLimit) if (parameters.contains(QStringLiteral("mapping.cache.memory.size"))) {
// QGC Default bool ok = false;
cacheLimit = 10 * 1024 * 1024; cacheLimit = parameters.value(QStringLiteral("mapping.cache.memory.size")).toString().toInt(&ok);
tileCache->setMaxMemoryUsage(cacheLimit); if (!ok)
//qDebug() << "Memory caching limit:" << cacheLimit; cacheLimit = 0;
}
cacheLimit = 0; if(!cacheLimit)
if (parameters.contains(QStringLiteral("mapping.cache.texture.size"))) { {
bool ok = false; #ifdef __mobile__
cacheLimit = parameters.value(QStringLiteral("mapping.cache.texture.size")).toString().toInt(&ok); cacheLimit = 16 * 1024 * 1024;
if (!ok) #else
cacheLimit = 0; cacheLimit = 128 * 1024 * 1024;
#endif
}
pTileCache->setMaxMemoryUsage(cacheLimit);
} }
if(!cacheLimit)
// QGC Default
cacheLimit = 10 * 1024 * 1024;
tileCache->setExtraTextureUsage(cacheLimit);
*error = QGeoServiceProvider::NoError; *error = QGeoServiceProvider::NoError;
errorString->clear(); errorString->clear();
......
...@@ -55,7 +55,13 @@ ...@@ -55,7 +55,13 @@
QGeoTileFetcherQGC::QGeoTileFetcherQGC(QGeoTiledMappingManagerEngine *parent) QGeoTileFetcherQGC::QGeoTileFetcherQGC(QGeoTiledMappingManagerEngine *parent)
: QGeoTileFetcher(parent) : QGeoTileFetcher(parent)
, m_networkManager(new QNetworkAccessManager(this)) , m_networkManager(new QNetworkAccessManager(this))
, m_userAgent("Qt Application") #if defined Q_OS_MACX
, m_userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0")
#elif defined Q_OS_WIN32
, m_userAgent("Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7")
#else
, m_userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20130331 Firefox/21.0")
#endif
, m_UrlFactory(NULL) , m_UrlFactory(NULL)
{ {
QStringList langs = QLocale::system().uiLanguages(); QStringList langs = QLocale::system().uiLanguages();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment