Skip to content

Commit 54a357f

Browse files
authored
Merge pull request #25 from mfbernardes/highdpi
Enable downloading tiles for High DPI displays
2 parents 7ce7124 + 46e00c6 commit 54a357f

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

qgeotilefetchergooglemaps.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ QGeoTileFetcherGooglemaps::QGeoTileFetcherGooglemaps(const QVariantMap &paramete
2727
m_networkManager(new QNetworkAccessManager(this)),
2828
m_engineGooglemaps(engine),
2929
m_tileSize(tileSize),
30-
_googleVersionRetrieved(false)
30+
_googleVersionRetrieved(false),
31+
_scale(1)
3132
{
3233
if(parameters.contains(QStringLiteral("googlemaps.maps.apikey")))
3334
m_apiKey = parameters.value(QStringLiteral("googlemaps.maps.apikey")).toString();
@@ -49,6 +50,9 @@ QGeoTileFetcherGooglemaps::QGeoTileFetcherGooglemaps(const QVariantMap &paramete
4950
_language = (langs.length() > 0) ? langs[0] : "en-US";
5051
}
5152

53+
if (parameters.contains(QStringLiteral("googlemaps.maps.highdpi")))
54+
_scale = (parameters.value(QStringLiteral("googlemaps.maps.highdpi")).toBool()) ? 2 : 1;
55+
5256
// Google version strings
5357
_secGoogleWord = "Galileo";
5458
}
@@ -118,31 +122,31 @@ QString QGeoTileFetcherGooglemaps::_getURL(int type, int x, int y, int zoom)
118122
QString sec1 = ""; // after &x=...
119123
QString sec2 = ""; // after &zoom=...
120124
_getSecGoogleWords(x, y, sec1, sec2);
121-
return QString("http://mt.google.com/vt/lyrs=m&hl=%1&x=%2%3&y=%4&z=%5&s=%6").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2);
125+
return QString("http://mt.google.com/vt/lyrs=m&hl=%1&x=%2%3&y=%4&z=%5&s=%6&scale=%7").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2).arg(_scale);
122126
}
123127
break;
124128
case 2: //Satallite Map
125129
{
126130
QString sec1 = ""; // after &x=...
127131
QString sec2 = ""; // after &zoom=...
128132
_getSecGoogleWords(x, y, sec1, sec2);
129-
return QString("http://mt.google.com/vt/lyrs=s&hl=%1&x=%2%3&y=%4&z=%5&s=%6").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2);
133+
return QString("http://mt.google.com/vt/lyrs=s&hl=%1&x=%2%3&y=%4&z=%5&s=%6&scale=%7").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2).arg(_scale);
130134
}
131135
break;
132136
case 3: //Terrain Map
133137
{
134138
QString sec1 = ""; // after &x=...
135139
QString sec2 = ""; // after &zoom=...
136140
_getSecGoogleWords(x, y, sec1, sec2);
137-
return QString("http://mt.google.com/vt/lyrs=p&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2);
141+
return QString("http://mt.google.com/vt/lyrs=p&hl=%1&x=%2%3&y=%4&z=%5&s=%6&scale=%7").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2).arg(_scale);
138142
}
139143
break;
140144
case 4: //Hybrid Map
141145
{
142146
QString sec1 = ""; // after &x=...
143147
QString sec2 = ""; // after &zoom=...
144148
_getSecGoogleWords(x, y, sec1, sec2);
145-
return QString("http://mt.google.com/vt/lyrs=y&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2);
149+
return QString("http://mt.google.com/vt/lyrs=y&hl=%1&x=%2%3&y=%4&z=%5&s=%6&scale=%7").arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2).arg(_scale);
146150
}
147151
break;
148152
}

qgeotilefetchergooglemaps.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ private slots:
5454
QMutex _googleVersionMutex;
5555
QByteArray _userAgent;
5656
QString _language;
57+
int _scale;
5758

5859
// Google version strings
5960
QString _secGoogleWord;

0 commit comments

Comments
 (0)